প্রথম প্রশ্ন:
বলুন আমার আছে
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
সুযোগটি ছেড়ে যাই তখন কি কেবল কল করা হয় ?