clientDataSet处理事务的问题,急.............

chengangcsdn 2006-11-09 11:47:16
后台用的是BDE+DataSetProvider
前台用的是DCOM+ClientDataSet

==
我现在处理的一个问题是: 有四个clientDataSet:cds1,cds2,cds3,cds4
cds1.append;
cds1.fieldbyname('dd').value := 'aa'
..
cds1.ApplyUpdates(-1)提交数据库.

而cds2,cds3,cds4却是SQL语句.
如:
cds2.commandtext := 'update bb set aa=1'
cds2.execute
..
现在我想实现.
cds1.ApplyUpdates(-1)和cds2,cds3,cds4.execute用事务处理.
==
很多人说在服务器端处理.但我不知道怎么做.急.............
...全文
236 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
madyak 2006-11-09
  • 打赏
  • 举报
回复
在服务端接口里定义一个方法,把你要处理的这些值传到服务端去。
在服务端启动事物,把这些数据更新到数据库中。
real_name 2006-11-09
  • 打赏
  • 举报
回复
用存储过程那个控件传参数
老冯 2006-11-09
  • 打赏
  • 举报
回复
有很多实现方法。不过我觉得您最好不要用DataWare元件来直接处理事务。下面简单说明一下革命性的解决途径(MVP Model-View-Presenter)::):):)
1、如果您一定要用clientDataSet的话,就把它仅仅作为一个GUI(View)显示元件
2、将你的业务数据转换为BO
..........
IBO = INTERFACE
function GetDD: string;
procedure SetDD(const Value);
property DD: string read GetDD write SetDD
end;
...........
3、设计数据访问层,在这层中加入事务处理代理。
4、设计数据持久层,再这层中实际完成事务处理

PS:至于用不用数据库存储过程来处理事务,我觉得都是不重要的。
chengangcsdn 2006-11-09
  • 打赏
  • 举报
回复
能针对我上面写几句代码不?

2,497

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧