巧用枚举commandbehavior关闭sqldatareader联接数据库时的conn
编码过程中使用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;
}
}
http://www.cnblogs.com/abeen/archive/2006/12/19/597039.html