关于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语句,肯定被搞死了,,