最初の質問:
私が持っていると言います
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();
}
接続は閉じられますか?技術的には私たちが最後に取得することはありませんので、}
我々としてreturn
その前に。
第二の質問:
今回は私が持っています:
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*/ }
さて、どこかでtry
エラーが発生し、エラーが発生しました。接続はまだ閉じられていますか?繰り返しになりますが、残りのコードはスキップtry
して、catch
ステートメントに直接移動します。
私はどのようにusing
機能するかについて直線的に考えすぎていますか?つまりDispose()
、using
スコープを離れると、単に呼び出されますか?