عند استخدام SqlDataReader لتشغيل قاعدة البيانات أثناء الترميز، هل تستدعي الطريقة يدويًا أو تكتب رمزًا لإغلاق اتصال قاعدة البيانات في كل مرة بعد استدعاء طريقة قاعدة البيانات الخاصة بك؟ (هاها، كنت أفعل هذا من أجل المتعة)
يمكن للطريقة التالية أن تحل هذه المشكلة. ستساعدك المعلمة CommandBehavior.CloseConnection الخاصة بـ cmd.ExecuteReader تلقائيًا على إغلاق
SqlDataReader ExecuteReader الثابت العام المرتبط (سلسلة اتصال سلسلة، CommandType cmdType، سلسلة cmdText، المعلمات SqlParameter[] CommandParameters)
{
SqlCommand cmd = new SqlCommand(
)
;
{
PreparationCommand(cmd, conn, null, cmdType, cmdText, CommandParameters);
// إضافة المعلمة CommandBehavior.CloseConnection إلى cmd.ExecuteReader سوف يغلق الاتصال المرتبط به تلقائيًا بعد تنفيذ cmd.ExecuteReader.
SqlDataReader rdr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
cmd.Parameters.Clear();
return rdr
}
Catch
{
conn.Close()
;
}
}
http://www.cnblogs.com/abeen/archive/2006/12/19/597039.html