轻轻松松掌握ADO.NET事务处理方法技巧

事物是一组不可在分的Sql语句,在编程中也是很难解决的一个问题,我们这里就ADO.NET事务处理方法简单的介绍,希望看过可以帮你解决这方面的问题。

创新互联建站坚持“要么做到,要么别承诺”的工作理念,服务领域包括:成都网站设计、成都网站制作、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的宁河网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!

ADO.NET事务处理方法:
◆BeginTrans:开始1个事务;
◆CommitTrans:提交事务,将事务中的操作写入数据源。
◆RollBackTrans:滚回事务,取消操作。

#T#当同时更新多个表时,为了保证数据一致性而必须使用事务,比如有两个表,一个是支出表,一个是余额表,当支出一项费用时,支出费用增加,余额减少,需要对这两个表同时更新,但如果不用事务,倘若在更新支出表后发生错误,则余额表没有更新,不合要求。这时就要把它们封存装到一个事务里。确保多表操作的完整性。此外,也可以用它对同一个表的多步操作进行封装,使多步操作成为单个单元。

一般地,我们在BeginTrans处加一条On Error Goto ErrNum的出错捕获语句,然后在错误处理程序中使用RollBackTrans取消事务。形如:

 
 
  1. cn.BeginTrans  
  2. on Error Goto ErrNum  
  3. …更新表1  
  4. …更新表2  
  5. …  
  6. cn.CommitTrans  
  7. Exit Sub  
  8. ErrNum:  
  9. cn.RollBackTrans  
  10. msgbox //出错提示 

事务可以嵌套,由begintrans方法返回1个长整数表示当前事务是第几层,如返回1为当前事务不包含在任何事务中。CommitTrans和 RollBackTrans结束最近的BeginTrans打开的那个事务。在程序中用begintrans开始1个事务后,应使用 committrans或rollbacktrans方法结束,如果不用,则在程序结束后事务全部滚回,也就是说,系统不会自动去提交任何事务。ADO.NET事务处理方法例如:

 
 
  1. cn.BeginTrans  
  2. rst.MoveNext  
  3. cn.Execute "insert into BB values('嫖客店','aaa',0,'0','0',0,'0')"  
  4. cn.CommitTrans 

有两种情况需要说明一下:在事务中也可能出现问题,导致被迫放弃事务:一种情况是一个关健字段被锁定,不能进行写操作;另一种情况是字段值超出范围,如字段为Integer,但实际值大于32767,字段为Text,但值字串长超过32K等,这样会导致事务强迫放弃。

当前标题:轻轻松松掌握ADO.NET事务处理方法技巧
当前地址:http://www.shufengxianlan.com/qtweb/news10/273710.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联