MSSqlHelper

  1  public class MSSqlHelper : IDisposable
  2     {
  3         private static readonly string connstr = ConfigurationManager.ConnectionStrings["connStr"].ConnectionString;
  4 
  5         private SqlConnection _con;
  6         public void Close()
  7         {
  8             if (_con.State == System.Data.ConnectionState.Open || _con.State == System.Data.ConnectionState.Broken)
  9             {
 10                 _con.Close();
 11             }
 12         }
 13         public void Open()
 14         {
 15             if (this._con == null || this._con.State == System.Data.ConnectionState.Closed)
 16             {
 17                 this._con.Open();
 18             }
 19             else if (this._con.State == System.Data.ConnectionState.Broken)
 20             {
 21                 this._con.Close();
 22                 this._con.Open();
 23             }
 24         }
 25         public MSSqlHelper()
 26         {
 27             _con = new SqlConnection(connstr);
 28             this.Open();
 29         }
 30         public MSSqlHelper(string connStr)
 31         {
 32             _con = new SqlConnection(connStr);
 33             this.Open();
 34         }
 35 
 36         #region
 37         public int ExecuteNonQuery(string sql, params SqlParameter[] parameters)
 38         {
 39             SqlCommand cmd = new SqlCommand();
 40             PrepareCommand(cmd, CommandType.Text, sql, parameters);
 41             return cmd.ExecuteNonQuery();
 42         }
 43 
 44         public object ExecuteScalar(string sql, params SqlParameter[] parameters)
 45         {
 46             SqlCommand cmd = new SqlCommand();
 47             PrepareCommand(cmd, CommandType.Text, sql, parameters);
 48             return cmd.ExecuteScalar();
 49         }
 50 
 51         public DataTable ExecuteDataTable(string sql, params SqlParameter[] parameters)
 52         {
 53             DataTable dt = new DataTable();
 54             SqlCommand cmd = new SqlCommand();
 55             PrepareCommand(cmd, CommandType.Text, sql, parameters);
 56             SqlDataAdapter da = new SqlDataAdapter(cmd);
 57             da.Fill(dt);
 58             return dt;
 59         }
 60 
 61         public SqlDataReader GetSqlDataReader(string sql, params SqlParameter[] parameters)
 62         {
 63             SqlCommand cmd = new SqlCommand();
 64             PrepareCommand(cmd, CommandType.Text, sql, parameters);
 65             return cmd.ExecuteReader(CommandBehavior.CloseConnection);
 66         }
 67 
 68         private void PrepareCommand(SqlCommand cmd, CommandType commandType, string commandtext, params SqlParameter[] parameters)
 69         {
 70             cmd.CommandType = commandType;
 71             cmd.CommandText = commandtext;
 72             cmd.Connection = this._con;
 73             cmd.Transaction = this._tran;
 74             if (parameters != null)
 75             {
 77                 cmd.Parameters.AddRange(parameters);
 78             }
 79         }
 80         #endregion
 81 
 82         #region  事务
 83 
 84         private SqlTransaction _tran;
 85         /// <summary>
 86         /// 开启事务
 87         /// </summary>
 88         public void BeginTran()
 89         {
 90             _tran = this._con.BeginTransaction();
 91         }
 92         /// <summary>
 93         /// 提交事务 
 94         /// </summary>
 95         public void CommitTran()
 96         {
 97             this._tran.Commit();
 98         }
 99         /// <summary>
100         /// 回滚事务 
101         /// </summary>
102         public void RollbackTran()
103         {
104             this._tran.Rollback();
105         }
106         #endregion
107 
108         public void Dispose()
109         {
110             this.Close();
111         }
112     }

//调用

 string sql = @"INSERT INTO dbo.Person( Name, Age, gender, Tel )VALUES('lk','12','0','1111222')";
            string sql2 = @"INSERT INTO dbo.Person( Name, Age, gender, Tel )VALUES('xl','12','1','1111222')";
            using (MSSqlHelper db = new MSSqlHelper())
            {
                try
                { 
                    db.BeginTran();
                    db.ExecuteNonQuery(sql); 
                    db.ExecuteNonQuery(sql2);
                    db.CommitTran(); 
                }
                catch
                {
                    db.RollbackTran();
                }
            }

 

转载于:https://www.cnblogs.com/5tomorrow/p/4160971.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值