CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
英特尔®游戏设计大赛100美元现金周周送 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C++ Builder >  数据库及相关技术

请问三层的事务处理!

楼主aloelan(阿岚)2003-12-03 19:59:27 在 C++ Builder / 数据库及相关技术 提问

我刚学,没试过在三层里用事务,我按自己的理解说说,大家多教教我!  
  是不是这样用:  
  server端写个method比如:  
  AddNew(param:xxxx)  
  begin  
      sqlstr:='insert   into   xxxx   value   (param)'  
      adocnn.beginTrans  
      try  
      xxxx(执行sqlstr)  
      adocnn.commitTrans  
      except  
          adocnn.rollback  
      end;  
  end;  
  client端点击增加,调用AddNew?  
  大家看这样理解对不对!真的想学好三层,希望大家多多赐教!  
  能帮忙贴段代码学学么?:)  
  多个clientdataset连一个datasetprovider行不行啊?  
  ClientDataset.close后就把原来取到client的数据清空了么?  
  问题点数:0、回复次数:12Top

1 楼Erice(白雪公猪)回复于 2003-12-04 09:28:04 得分 0

事物处理一般放在服务器端上Top

2 楼aloelan(阿岚)回复于 2003-12-04 18:55:40 得分 0

晕!大哥,详细说说!Top

3 楼jingbianfc(『静⊙变』)回复于 2003-12-05 17:43:55 得分 0

我也在学,你所说的,都可以通过自己试验得知啊,为什么不自己写点代码试试呢Top

4 楼yexiong(英熊)回复于 2003-12-05 18:37:39 得分 0

MTS/COM+  
  好好学一下这方面的内容  
  Top

5 楼cocoboy79(ithink79.spaces.live.com)回复于 2003-12-09 22:16:52 得分 0

再次推荐李维那两本书。Top

6 楼wuzhongmin(吴仲敏)回复于 2003-12-10 10:14:01 得分 0

像aloelan   这样也可以呀。在中间层处理嘛!Top

7 楼eastliangliang(青苹果:拒绝羊皮的狼)回复于 2003-12-10 14:27:23 得分 0

你的事务处理是ADO的事务处理,如果你的程序跑在MTS/COM+环境下,推荐使用MTS/COM+的事务处理,在组件服务中设置组件的事务为需要事务或需要新事务,在组件激活的时候,事务即开始  
  try  
      xxxx(执行sqlstr)  
      adocnn.commitTrans   这里改为   SetComplete  
      except  
          adocnn.rollback     这里改为   SetAbort  
      end;  
  Top

8 楼WGYKING(修罗是谁?![就缺孩子了……])回复于 2003-12-10 14:29:56 得分 0

你写的没错  
  但事务处理推荐COM+Top

9 楼eastliangliang(青苹果:拒绝羊皮的狼)回复于 2003-12-10 18:12:27 得分 0

楼主这样做是可以的,可是业务逻辑复杂一点的话,一个事务中可能包含数个模块的操作,并不是执行一个SQL语句可以搞定的,MTS/COM+环境可以传递事务,采用一种投票制,只有所有模块都投提交票时,事务才提交,详细的看看李维的书吧,我也记不太清了。Top

10 楼qiume(好好回贴,天天胖胖)回复于 2003-12-11 09:36:39 得分 0

没错Top

11 楼wangxj333(天天真人)回复于 2003-12-11 16:06:00 得分 0

使用Midas服务器,就只能这样处理事务了.Top

12 楼wangl()回复于 2003-12-11 16:58:30 得分 0

尽量使用MTS/COM+的事务处理功能,在你的组件中这样写:  
   
  try  
      //你的业务代码  
      SetComplete;     //相当于Commit  
  except  
      SetAbort;           //相当于RollBack  
  end;  
   
  另外,需要将你的组件的事务模式设置为需要事务或需要新事务(一般设置为需要事务即可)  
  Top

相关问题

  • *************三层结构中,怎样进行对多个表操作的事务处理?*************
  • 100分求教:三层结构中的客户端怎样做事务处理?
  • 一个事务处理的问题:将两层结构的事务转换到三层结构!
  • 事务处理
  • 事务处理
  • 在分层开发中,有好的方法进行事务处理吗?
  • Db2 事务处理
  • Db2 事务处理
  • 什么是事务处理
  • Adoconnection的事务处理

关键词

  • 组件
  • 代码
  • 执行
  • 事务处理
  • 事务
  • adocnn
  • mts
  • xxxx
  • sqlstr
  • 需要

得分解答快速导航

  • 帖主:aloelan

相关链接

  • CSDN Blog
  • 技术文档
  • 代码下载
  • 第二书店
  • 读书频道

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo