強大的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;
}