【文件属性】:
文件名称:.net 数据库访问类
文件大小:39KB
文件格式:CS
更新时间:2016-06-29 09:25:10
.net sql
//本段代码的缺点是:没执行一个SQL语句,都会创建一次连接对象。因此效率低下。
///
/// 用提供的函数,执行SQL命令,返回一个从指定连接的数据库记录集
///
///
/// 例如:
/// SqlDataReader r = ExecuteReader(connString, CommandType.StoredProcedure, "PublishOrders", new SqlParameter("@prodid", 24));
///
/// SqlConnection有效的SQL连接字符串
/// CommandType:CommandType.Text、CommandType.StoredProcedure
/// SQL语句或存储过程
/// SqlParameter[]参数数组
/// SqlDataReader:执行结果的记录集
public SqlDataReader GetSqlReader(CommandType cmdType, string cmdText, params SqlParameter[] cmdParms)
{
SqlCommand cmd = new SqlCommand();
SqlConnection conn = new SqlConnection(connstr);
// 我们在这里用 try/catch 是因为如果这个方法抛出异常,我们目的是关闭数据库连接,再抛出异常,
// 因为这时不会有DataReader存在,此后commandBehaviour.CloseConnection将不会工作。
try
{
PrepareCommand(cmd, conn, null, cmdType, cmdText, cmdParms);
SqlDataReader rdr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
cmd.Parameters.Clear();
return rdr;
}
catch
{
conn.Close();
throw;
}
}