İlk soru:
Diyelim ki
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ı kapanıyor mu? Çünkü teknik olarak asla }
eskisi gibi son return
bulmayız.
İkinci soru:
Bu sefer:
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 yerlerde try
bir hata alıp yakalandığımızı söyleyin . Bağlantı hala kapanıyor mu? Çünkü yine, kodun geri kalanını atlıyoruz try
ve doğrudan catch
ifadeye gidiyoruz .
Nasıl using
çalıştığı konusunda çok doğrusal düşünüyor muyum ? Yani kapsamdan Dispose()
ayrıldığımızda sadece çağırılıyor using
mu?