HOSPEDAGEM DE SITES DISCO VIRTUAL CONSTRUTOR BLOG
LOCAMAIL EXCHANGE E-MAIL MARKETING
BANDA LARGA
PC PROTEGIDO
FLASH COMMUNICATION MX WINDOWS STREAMING MEDIA PODCAST
PABX VIRTUAL PORTAL DE VOZ
HOSPEDAGEM
COMÉRCIO
ELETRÔNICO
REGISTRO
DE DOMÍNIO
REVENDA SERVIÇOS
DEDICADOS
SERVIÇOS
DE E-MAIL
SERVIÇOS
DE VOZ
SEGURANÇA
ÁUDIO E
VÍDEO
ACESSO

Cansado de fechar suas conexões com banco de dados?

Quem nunca esqueceu de fechar uma conexão com banco de dados que atire a primeira pedra!
Sempre que uma conexão com o banco de dados é feita, ela ficará ativa até que o método Close() seja chamado. Existem duas formas de garantir que a conexão não ficará ativa após sua utilização:

- Utilizando o bloco try/catch/finally
Ao utilizar o bloco try/catch/finally pode-se garantir que a conexão será finalizada colocando-se o método Close() dentro do bloco finally, pois mesmo que uma exception seja gerada, esse bloco será executado.

// Criando o conexão e recuperando a connection string do web.config
SqlConnection conn = new SqlConnection();
conn.ConnectionString = ConfigurationManager.ConnectionStrings["StringConexao"].ConnectionString;

try
{
// Abre a conexão com o banco de dados
conn.Open();

// Coloque aqui seu código que interajirá o banco de dados
}
catch (Exception ex)
{
// Caso seja encontrado algum erro, a exception será gerada
Response.Write(ex.Message);
}
finally
{
// Mesmo que a exception tenha sido gerada, esse bloco será executado
// conn.Close() ou conn.Dispose() são equivalentes e pode-se usar tanto um como o outro
conn.Close();
}

- Utilizando a instrução “using”
Ao usar o bloco try/catch/finally, nada garante que você sempre irá se lembrar que colocar o método que fecha a conexão dentro do finally (como esse bloco é opcional, o que te impede de não coloca-lo!!!).
Uma ótima alternativa é a utilização do using, pois ele se encarregará de fechar a conexão assim que seu bloco se encerrar:

using (SqlConnection conn = new SqlConnection())
{
// Define a string de conexão vinda do web.config
conn.ConnectionString = ConfigurationManager.ConnectionStrings["StringConexao"].ConnectionString;

// Abre a conexão
conn.Open();

- Utilizando a instrução “using”

Ao usar o bloco try/catch/finally, nada garante que você sempre irá se lembrar que colocar o método que fecha a conexão dentro do finally (como esse bloco é opcional, o que te impede de não coloca-lo!!!).

Uma ótima alternativa é a utilização do using, pois ele se encarregará de fechar a conexão assim que seu bloco se encerrar:

using (SqlConnection conn = new SqlConnection())

{

// Define a string de conexão vinda do web.config

conn.ConnectionString = ConfigurationManager.ConnectionStrings["StringConexao"].ConnectionString;

// Abre a conexão

conn.Open();

// Coloque seu código aqui

}

Assim que o bloco using se encerrar, ele automaticamente fechará a conexão pra você.
Mais informações sobre a class SqlConnection clique aqui .

Tags: , , ,

2 comentários para “Cansado de fechar suas conexões com banco de dados?”

  1. Viviane disse:

    Olá, achei muito boa a dica. Gostaria de saber se há um comando equivalente ao using, para a mesma finalidade na linguagem vb.net.
    Obrigada!

  2. Moacir disse:

    Viviane,

    O código em VB poderia ser:

    Dim conn As SqlConnection

    Using conn As New SqlConnection()
    ‘ Define a string de conexão vinda do web.config
    conn.ConnectionString = ConfigurationManager.ConnectionStrings(StringConexao).ConnectionString

    ‘ Abre a conexão
    conn.Open()

    ‘ Coloque seu código aqui

    End Using

Deixar um comentário