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.
16 Mayıs 2011 Pazartesi
Kaydol:
Kayıt Yorumları (Atom)
çok ender bulunabilecek önemli bir bilgilendirmeydi. teşekkürler hocam....
YanıtlaSil