执行查询语句,使用完之后记得关闭 Reader.Close();
public static SqlDataReader ExecReader(string sql, params SqlParameter[] parameters) { //创建连接对象 //【为什么不能使用using?】 SqlConnection sqlConnection = new SqlConnection(strConn); using (SqlCommand sqlCommand = new SqlCommand(sql, sqlConnection)) { //判断参数中是否有值 if (parameters != null && parameters.Count() > 0) { sqlCommand.Parameters.AddRange(parameters); } try { sqlConnection.Open(); //将Reader与Connection进行绑定,关闭Reader的同时释放Connection return sqlCommand.ExecuteReader(CommandBehavior.CloseConnection); } catch (Exception ex) //执行出错,释放资源 { sqlCommand.Dispose(); sqlConnection.Close(); sqlConnection.Dispose(); throw ex; } } }执行增删改查方法
public static int ExecNonQuery(string sql, params SqlParameter[] parameters) { using (SqlConnection sqlConnection = new SqlConnection(strConn)) { using (SqlCommand sqlCommand = new SqlCommand(sql, sqlConnection)) { if (parameters != null && parameters.Count() > 0) { sqlCommand.Parameters.AddRange(parameters); } try { sqlConnection.Open(); //返回受影响的行数 return sqlCommand.ExecuteNonQuery(); } catch (Exception ex) { sqlCommand.Dispose(); sqlConnection.Close(); sqlConnection.Dispose(); throw ex; } } } }执行查询,返回查询结果第一行第一列的值,常用于查询SUM、COUNT等聚合函数的结果 public static object ExecScalar(string sql, params SqlParameter[] parameters) { using (SqlConnection sqlConnection = new SqlConnection(strConn)) { using (SqlCommand sqlCommand = new SqlCommand(sql, sqlConnection)) { if (parameters != null && parameters.Count() > 0) { sqlCommand.Parameters.AddRange(parameters); }
try { sqlConnection.Open(); return sqlCommand.ExecuteScalar(); } catch (Exception ex) { sqlCommand.Dispose(); sqlConnection.Close(); sqlConnection.Dispose(); throw ex; } } } }}