首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

关于delphi的clientdataset多表更新有关问题

2013-01-18 
关于delphi的clientdataset多表更新问题delphi初学者又来提问了。。希望各位达人不吝赐教啊,,由于需要,本人D

关于delphi的clientdataset多表更新问题
delphi初学者又来提问了。。希望各位达人不吝赐教啊,,

由于需要,本人Delphi程序中需要大量使用多表查询,且这些查询经常使用"left outer join".“”“right outer join”模式连接,即查询结果包含A表的全部与B表的相关记录,而在工作过程中又需要对这些多表查询结果进行即时更新,

本人使用ado+datasetprovider+clientdataset控件,但时常碰到奇怪问题,如下

问题:在对查询结果进行修改并执行更新clientdataset.applyupdates(0)时,经常发生两种错误
1、无任何效果
即执行未报错,但没有完成更新
2、更新错位
本打算更新A行,结果却传递到了B行,例如本来将A行a1字段内容‘xxx’修改为'xxx123',结果B行a1字段内容'yyy'变成了'yyy123'。

在网上查了很久,看了很多关于clientdataset的文章,不得头绪,急切求助啊。

补充:
1:别提什么使用sql命令更新啥的了,我的表格经常需要好几个表联合查询,要是一个个都用Sql语句,肯定被搞死了,,

[解决办法]
多表查询后,虽然可以更新,但都是要求唯一的记录
要是几个表都有符合记录的话,是不成功的,D并不知道你要更新那一个表中的数据啊

联合查询后,就像是一个视图,只做显示用,最好别做更新动作!!!!

热点排行