編碼過程中使用SqlDataReader 來操作數據庫時,你是否每次在調用完你的數據庫方法後,再手動調用方法或寫代碼關閉數據庫聯接呢?(呵呵 我以前是這樣做的 見笑)
下面的方法可以完成解決此問題了,cmd.ExecuteReader的參數CommandBehavior.CloseConnection會自動幫你關閉與之相關聯的conn
public static SqlDataReader ExecuteReader(string connectionString, CommandType cmdType, string cmdText, params SqlParameter[] commandParameters)
{
SqlCommand cmd = new SqlCommand();
SqlConnection conn = new SqlConnection(connectionString);
try
{
PrepareCommand(cmd, conn, null, cmdType, cmdText, commandParameters);
// 給cmd.ExecuteReader加上參數CommandBehavior.CloseConnection會在cmd.ExecuteReader執行完後自動關閉與之相關聯的conn
SqlDataReader rdr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
cmd.Parameters.Clear();
return rdr;
}
catch
{
conn.Close();
throw;
}
}