通过ADO.NET实现事务处理
在数据库连接上创建事务处理对象,然后调用事务处理对象来提交事务或回滚事务。简单的代码:
1
private void button1_Click(object sender, System.EventArgs e)
2
{
3
SqlConnection conn = new SqlConnection("Data Source=192.168.2.200;uid=sa; password=;database = HaierHR");
4
conn.Open();
5
//启用事务
6
SqlTransaction tran = conn.BeginTransaction();
7
SqlCommand cmd = new SqlCommand();
8
cmd.Connection = conn;
9
cmd.Transaction = tran;
10
try
11
{
12
cmd.CommandText = "UPDATE HRRollMain Set TotalMember=TotalMember-100 WHERE RollID = '2005070101'";
13
cmd.ExecuteNonQuery();
14
cmd.CommandText = "UPDATE HRRollSum Set TotalSumMember=TotalSumMember+100 WHERE RollSumID = '20050701'";
15
cmd.ExecuteNonQuery();
16
tran.Commit();
17
MessageBox.Show("事务提交成功!");
18
}
19
catch(Exception ex)
20
{
21
tran.Rollback();
22
MessageBox.Show("Error!"+ex.Message);
23
}
24
}
private void button1_Click(object sender, System.EventArgs e)2
{3
SqlConnection conn = new SqlConnection("Data Source=192.168.2.200;uid=sa; password=;database = HaierHR");4
conn.Open();5
//启用事务6
SqlTransaction tran = conn.BeginTransaction();7
SqlCommand cmd = new SqlCommand();8
cmd.Connection = conn;9
cmd.Transaction = tran;10
try11
{12
cmd.CommandText = "UPDATE HRRollMain Set TotalMember=TotalMember-100 WHERE RollID = '2005070101'";13
cmd.ExecuteNonQuery();14
cmd.CommandText = "UPDATE HRRollSum Set TotalSumMember=TotalSumMember+100 WHERE RollSumID = '20050701'";15
cmd.ExecuteNonQuery();16
tran.Commit();17
MessageBox.Show("事务提交成功!");18
}19
catch(Exception ex)20
{21
tran.Rollback();22
MessageBox.Show("Error!"+ex.Message);23
} 24
}

浙公网安备 33010602011771号