16 Mayıs 2011 Pazartesi

try,catch,finally pattern in ADO.NET

try catch finally desenini ado.net işlemlerinde kullanırken dikkat etmenizi tavsiye edeceğim ufak bir nokta var. Kolayca gözden kaçabileceği için yazmak istedim.

SqlConnection con=null;
try
{
con = new SqlConnection();
SqlCommand cmd = new SqlCommand("",con);
con.Open();
cmd.ExecuteNonQuery();
con.Close();
}
catch (Exception ex)
{

MessageBox.Show(ex.Message);
}
finally
{
if (con!=null && con.State != ConnectionState.Closed)
{
con.Close();
con.Dispose();
}
}

Gibi bir desen kullanıyorsanız catch bloğuna bir daha bakmanızı tavsiye ederim. MessageBox 'ın açacağı form modal olduğu için connection MessageBox ekranda olduğu sürece sonlanmayacaktır. Benzer deseni transaction işlemleri için kullandığınızı varsayarsak transaction askıda kalacaktır.

1 yorum:

  1. çok ender bulunabilecek önemli bir bilgilendirmeydi. teşekkürler hocam....

    YanıtlaSil