1、设置使用事务的SQL执行语句
1 /// <summary>
2 /// 使用有事务的SQL语句
3 /// </summary>
4 /// <param name="sql"></param>
5 /// <param name="conn"></param>
6 /// <param name="tran"></param>
7 /// <returns></returns>
8 public int Execsql(string sql,SqlConnection conn,SqlTransaction tran)
9 {
10 OpenConn(conn);
11 SqlCommand cmd = new SqlCommand(sql, conn);
12 cmd.Transaction = tran;
13 int i = cmd.ExecuteNonQuery();
14 Console.WriteLine(string.Format("执行带事务:影响: {0}行; 语句:{1}", i, sql));
15 return i;
16 }
2、在程序中调用
1 using(SqlTransaction tran = conn.BeginTransaction())
2 {
3 try
4 {
5 if (dgvMast.CurrentRow != null)
6 {
7 Program.DB.Execsql(sqlSub1, conn, tran);
program.DB.Execsql(sqlSub2, conn, tran);
14 tran.Commit();//事务提交
15 }
16 }
17 catch(Exception ex)//对异常处理
18 {
19 tran.Rollback();//异常时候,事务回滚
20 MessageBox.Show(ex.Message,MessageBoxButtons.OK, MessageBoxIcon.Error);
21 }
22
23 }
可以到要求sql语句执行的一致性.
程序中使用事务来管理sql语句的执行,执行失败时,可以达到回滚的要求。,布布扣,bubuko.com
时间: 2025-01-02 11:17:14