Você está na página 1de 13

Diego Borges

Evite dores de cabea com C#


SOLUCIONANDO PROBLEMAS DO DIA A DIA

Diego Borges

Evite dores de cabea com C#


SOLUCIONANDO PROBLEMAS DO DIA A DIA

Introduo sobre o E-book


O intuito deste e-book, no literalmente ENSINAR a programar
desde o incio. Para isso, continue acompanhando nosso contedo,
que em breve haver muitas novidades de cursos bsicos e
avanados.
Neste e-book, a inteno mostrar algumas dicas de alguns
problemas que podemos nos deparar no dia a dia e como resolver
estes problemas.

Diego Borges

Dica #1: USING


USING(){...}

Dica #1: USING O poder do USING


A instruo USING serve para descartar - tecnicamente dar Dispose()
em um objeto automaticamente.
Para esta funo, pode-se utilizar o try/catch e fazer o Dispose()
manualmente no finally, porm...manualmente.
Com USING, o cdigo fica melhor estruturado, mais bonito e o
Dispose() feito de forma automtica, no alocando memria e
liberando os objetos em questo.

Dica #1: USING Exemplo 1


Para facilitar o entendimento, veja o exemplo abaixo, onde o objeto de
conexo liberada automaticamente:
using (SqlConnection conn = new SqlConnection("connString"))
{
//seu cdigo...
}

Dica #1: USING Exemplo 2


Neste segundo caso, usaremos o USING para liberar o leitor de
arquivo e no correr o risco do arquivo ficar bloqueado.
using (StreamReader sr = new StreamReader(meu_arquivo.txt"))
{
string line = sr.ReadToEnd();
Console.WriteLine(line);
}

Dica #1: USING - Concluso


Em ambos os casos, voc poder observar a agilidade de se usar o
objeto e automaticamente liberar o mesmo.
Isso pode te livrar de grande dor de cabea, com o intuito de no ficar
com conexes ao banco de dados, assim como no manter arquivos
em memria.

Diego Borges

Dica #2: ConnectionState


CONN.OPEN(); CONN.CLOSE();

Dica #2: ConnectionState Fechando conexes


Outro grande problema que voc pode ter deixar inmeras conexes
ativas ao banco de dados.
Dependendo do tamanho de seu projeto, isso pode tornar seu sistema
extremamente lento, alm de consumir conexes ao banco de dados.

Dica #2: ConnectionState Exemplo


Para facilitar o entendimento, veja o exemplo abaixo, onde irei abrir a
conexo, popular um DataTable, fechar a conexo e liberar o objeto:
DataTable dt = new DataTable();
using (SqlConnection conn = new SqlConnection(connString))
{
SqlCommand sql = new SqlCommand(queryString, conn);
SqlDataAdapter sda = new SqlDataAdapter(sql);
if (conn.State == ConnectionState.Closed) { conn.Open(); }
sda.Fill(dt);
if (conn.State == ConnectionState.Open) { conn.Close(); }
}

Dica #2: ConnectionState Concluso


Pode-se observar no exemplo dado, que ns no s abrimos, usamos
e fechamos a conexo, como tambm fizemos um verificao antes
de abrir e fechar.
O intuito de se testar se a conexo est fechada para abrir e aberta
para fechar, serve para que o C# no retorne uma exceo no cdigo.
Sendo assim, teremos os objetos liberados pelo USING, o IF para
testar a conexo e por fim, fechamos a conexo com o banco.

Quer aprender mais sobre C# e


ver mais dicas?
Quero continuar vendo
mais dicas
CONSIDERAES
FINAIS
O intuito deste e-book foi evidenciar
duas dicas primordiais para
programao em C# que ir te livrar
de grandes dores de cabea.

Diego Borges

Você também pode gostar