强大的SqlHelper
private SqlConnection conn = null;
private SqlCommand cmd = null;
private SqlDataReader sdr = null;
public SqlHelper()//构造函数
{
string connStr = ConfigurationManager.ConnectionStrings[“connStr”].ConnectionString;
//string connStr = “server=(local);database=newssystem;uid=sa;pwd=123456;”;
conn = new SqlConnection(connStr);
}
private SqlConnection GetConn()
{
if (conn.State == ConnectionState.Closed)
{
conn.Open();
}
return conn;
}
///
/// 有参数的增删改或存储过程
///
/// sql语句或存储过程
/// 参数
/// 命令参数
///
public int ExecuteNoQuery(string sql, SqlParameter[] paras, CommandType ct)
{
int res;
using (cmd = new SqlCommand(sql, GetConn()))
{
cmd.CommandType = ct;
cmd.Parameters.AddRange(paras);
res = cmd.ExecuteNonQuery();
}
return res;
}
///
/// 无参数的增删改
///
///
///
public int ExecuteNoQuery(string sql,CommandType ct)
{
int res;
using (cmd = new SqlCommand(sql, GetConn()))
{
cmd.CommandType = ct;
res = cmd.ExecuteNonQuery();
}
return res;
}
/// <summary>
/// 执行无参查询或存储过程
/// </summary>
/// <param name="sql">sql查询语句或存储过程</param>
/// <param name="ct">类型存储过程还是查询的sql语句</param>
/// <returns>返回集合</returns>
public DataTable ExecuteTable(string sql,CommandType ct)
{
DataTable dt=new DataTable ();
cmd=new SqlCommand(sql,GetConn());
cmd.CommandType = ct;
using (sdr = cmd.ExecuteReader(CommandBehavior.CloseConnection))
{
dt.Load(sdr);
}
return dt;
}
/// <summary>
/// 执行带参数的SQL查询语句或存储过程
/// </summary>
/// <param name="sql">SQL查询语句或存储过程</param>
/// <returns>参数集合</returns>
public DataTable ExecuteTable(string sql,SqlParameter[] paras,CommandType ct)
{
DataTable dt = new DataTable();
cmd = new SqlCommand(sql, GetConn());
cmd.CommandType = ct;
cmd.Parameters.AddRange(paras);
using (sdr = cmd.ExecuteReader(CommandBehavior.CloseConnection))//当资源释放是同时关闭数据库
{
dt.Load(sdr);
}
return dt;
}