ADO.NET 事务控制
来源:互联网 发布:智能电视阿里云系统 编辑:程序博客网 时间:2024/05/22 00:42
在ADO.NET 中,可以使用Connection 和Transaction 对象来控制事务。若要执行事务,请执行下列操作:
1.调用Connection 对象的BeginTransaction 方法来标记事务的开始。
2.将Transaction 对象分配给要执行的Command的Transaction 属性。
3.执行所需的命令。
4.调用Transaction 对象的Commit 方法来完成事务,或调用Rollback 方法来取消事务。 当然ADO.NET事务处理有优点和缺点,运用起来看具体情况了。
优点: – 简单性 – 和数据据事务差不多的快 – 独立于数据库,不同数据库的专有代码被隐藏了
缺点: – 事务不能跨越多个数据库连接 – 事务执行在数据库连接层上,所以需要在事务过程中维护一个数据库连接。
下边我们看一个例子,建立一个页面,同样简单,只需要一个按钮,然后编程:
1 using System;
2 using System.Data;
3 using System.Configuration;
4 using System.Collections;
5 using System.Web;
6 using System.Web.Security;
7 using System.Web.UI;
8 using System.Web.UI.WebControls;
9 using System.Web.UI.WebControls.WebParts;
10 using System.Web.UI.HtmlControls;
11 using System.Data.SqlClient;
12
13 namespace WebApplication1
14 {
15 public partial class AdoAction : System.Web.UI.Page
16 {
17 protected void Page_Load( object sender, EventArgs e)
18 {
19
20 }
21
22 protected void btn_Click( object sender, EventArgs e)
23 {
24 SqlConnection con = new SqlConnection();
25 con.ConnectionString = ConfigurationManager.ConnectionStrings[ " DSN " ].ConnectionString;
26 con.Open();
27 // 启动一个事务。
28 SqlTransaction myTran = con.BeginTransaction();
29 // 为事务创建一个命令,注意我们执行双条命令,第一次执行当然成功。我们再执行一次,失败。
30 // 第三次我们改其中一个命令,另一个不改,这时候事务会报错,这就是事务机制。
31 SqlCommand myCom = new SqlCommand();
32 myCom.Connection = con;
33 myCom.Transaction = myTran;
34 try
35 {
36 myCom.CommandText = " insert into SqlAction values ('测试2','111') " ;
37 myCom.ExecuteNonQuery();
38 myCom.CommandText = " insert into SqlAction values ('测试3','111') " ;
39 myCom.ExecuteNonQuery();
40 myTran.Commit();
41 Response.Write( " 成功执行 " );
42
43 }
44 catch (Exception Ex)
45 {
46 myTran.Rollback();
47 // 创建并且返回异常的错误信息
48 Response.Write(Ex.ToString());
49 Response.Write( " 写入数据库失败 " );
50 }
51 finally
52 {
53 con.Close();
54 }
55
56 }
57
58
59 }
60 }
- ADO.NET 事务控制
- ADO.NET 事务控制
- ADO.NET中的事务
- ado.net 事务
- ADO.NET中的事务
- ADO.net 添加事务
- 数据库及ADO.NET------招聘题:事务是什么?JDBC如何控制事务?
- ADO.NET事务的使用
- ADO.NET事务学习小结
- 一般的ADO.net 事务
- ADO.Net Oracle 事务问题
- 在ADO.NET编写事务
- 在ADO.NET编写事务
- Ado.Net事务(transaction)
- ADO.net - 事务使用范例
- ADO.NET事务的实现
- 事务-手动事务(ado.net)
- .NET的事务控制
- Service和IntentService
- USB通信协议概述
- linux之sed用法
- 微小说:如果你在骗我,真希望你能骗我一辈子
- 2.HandlerThread和Handler
- ADO.NET 事务控制
- Android从系统图库中读取选择后的图片
- Volatile的优缺点
- 索引图像
- 文件操作模式
- DEDECMS全站伪静态详细教程(首页、列表、文章页)
- dp和px的转换
- Javascript总结---炬力杯开发阶段
- 星号的几种输出算法