17 Ocak 2011, PAZARTESİ
"kullanarak" blok SqlConnection iade veya özel kapalı mı?
İlk soru:
Var
using (SqlConnection connection = new SqlConnection(connectionString))
{
connection.Open();
string storedProc = "GetData";
SqlCommand command = new SqlCommand(storedProc, connection);
command.CommandType = CommandType.StoredProcedure;
command.Parameters.Add(new SqlParameter("@EmployeeID", employeeID));
return (byte[])command.ExecuteScalar();
}
Bağlantı kapalı mı? Çünkü teknik olarak hiç bir zaman son 5 ** }
Daha önce.
İkinci soru:
Bu sefer var:
try
{
using (SqlConnection connection = new SqlConnection(connectionString))
{
int employeeID = findEmployeeID();
connection.Open();
SqlCommand command = new SqlCommand("UpdateEmployeeTable", connection);
command.CommandType = CommandType.StoredProcedure;
command.Parameters.Add(new SqlParameter("@EmployeeID", employeeID));
command.CommandTimeout = 5;
command.ExecuteNonQuery();
}
}
catch (Exception) { /*Handle error*/ }
Şimdi, bir yerde try
bir hata alırız ve yakalandı diyelim ki. Bağlantı hala kapalı mı? Çünkü yine biz try
kod kalanını atlayın ve doğrudan catch
bildirimi.
Çok doğrusal using
nasıl düşünüyorum? ıe Dispose()
sadece using
kapsamında gittiğimiz zaman aradı?
CEVAP
17 Ocak 2011, PAZARTESİ
- Evet
- Evet.
Using blok çıkıldığı zaman her iki şekilde de, (ya da hata ile başarılı bir şekilde tamamlanması veya kapalı).
Olacağını düşünüyorum rağmendaha iyiçok daha kolay olacak ne olduğunu görmek için, çünkü bu şekilde organize etmek için, daha sonra destek verecek olan yeni bir bakım programcı için bile
using (SqlConnection connection = new SqlConnection(connectionString))
{
int employeeID = findEmployeeID();
try
{
connection.Open();
SqlCommand command = new SqlCommand("UpdateEmployeeTable", connection);
command.CommandType = CommandType.StoredProcedure;
command.Parameters.Add(new SqlParameter("@EmployeeID", employeeID));
command.CommandTimeout = 5;
command.ExecuteNonQuery();
}
catch (Exception)
{
/*Handle error*/
}
}
Bunu Paylaş:
Uygula "bir özel durum. Sonu&"mak...
Kullanarak " koyuyorsun;sayfa özel...
Kullanarak "yeni" bir yapı ü...
Oluşturma "mantıksal özel veya&qu...
IDisposable ve "kullanarak" ...