淺談牛腩

強大的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;
    }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章