有没有高手?~!~! Midas的数据更新问题,最后这点分都奉上 ( 积分: 100 )

  • 主题发起人 主题发起人 biuuige
  • 开始时间 开始时间
B

biuuige

Unregistered / Unconfirmed
GUEST, unregistred user!
在使用DataProvider和ClientDataSet 时,发现不能解决多表连接时的数据更新问题.
参考了<delphi5分布式数据库设计>
<开发人员指南>, 并没有对此问题的完全解决.
多表连接的更新数据包含在ClientDataSet的delta数据包当中,当此Delta数据传到
Provider时,需要进行对多表连接的数据进行分解,得到不同的表的数据,注意分解过
程是在dataProvider中写死的,如果我有一千多张表,这样做并没有什么实际意义.希望
有真正的高手告诉我怎么解决这个问题,只有最后这点分了.急盼~!~!~!~
 
在使用DataProvider和ClientDataSet 时,发现不能解决多表连接时的数据更新问题.
参考了<delphi5分布式数据库设计>
<开发人员指南>, 并没有对此问题的完全解决.
多表连接的更新数据包含在ClientDataSet的delta数据包当中,当此Delta数据传到
Provider时,需要进行对多表连接的数据进行分解,得到不同的表的数据,注意分解过
程是在dataProvider中写死的,如果我有一千多张表,这样做并没有什么实际意义.希望
有真正的高手告诉我怎么解决这个问题,只有最后这点分了.急盼~!~!~!~
 
多表连接的更新问题,李维的书里讲的很细
如果用bde,必须在应用服务器段写一段代码。如果用ado可直接更新(不过,我没用过ado,不知道行不行)
 
ADO 只能更新单表数据,无法处理复杂多表联合查询获得的数据
多表更新的数据需要在应用服务器端进行分解.
李维写的书费话一大堆,实质问题并没有解决,没有实际意义
假如:我 有1000张表,做关联查询的数量为500 那么中间层服务器500个Query
代码量为 500 * 每次关联查询的语句
 
可以使用ClientDataSet.UpdateStatus属性来判断insert,update,delete,然后逐个post
 
李维写的书费话一大堆,实质问题并没有解决,没有实际意义
=========================
那么大家觉得谁的书比较能够解决实际问题呢,
在下非常想看看。。。
个人觉得通过在应用服务器端把事务处理的过程(begin
Trans,CommitTrans,RollBack..)写入函数调用即可,
另外得注意其复杂度,
呵呵,可能有些麻烦。。。
 
多人接受答案了。
 
后退
顶部