有关使用ApplyUpdates更新服务器上数据的问题(100分)

  • 主题发起人 主题发起人 decem
  • 开始时间 开始时间
对于自动生成的ID(主键),Delphi在客户端是不支持自增的,所以可以自己手动增加,实际提交的时候,在服务器端还是自增的,所以你可以在客户端欺骗一下delphi!
不知道说明白了没有,只作参考!
 
楼上的说的是什么意思?说明白一些。
 
主键ID设置为自动增加,并且是不重复的,不要对该字段进行Update、Insert操作,但可以进行Select操作
 
To wangbing9802:
你是指客户端有自己的一套生成ID的机制么?如果是这样,怎样做到和服务器端同步?多个客户端同时更新时,问题就来了。
To qsoft.51.net
Insert也可以,但是对刚刚加入的数据Update的话,就会有问题,客户端会将自动增加的主键作为被其他客户端修改了的数据处理。如何解决这个问题?
 
to toptomcn
用我的办法,你只要设定
DatasetProvider.Options.poPropogateChanges:=True
Clientdataset.ApplyUpdates后客户端自动看见主键,用不着刷新
 
楼主的情况,
服务段生成主键是最完美的
 
发现问题,原来在DataSetProvider的BeforeUpdataRecord中,如果有一批数据要在这里提交,(比如有5条记录),我在BeforeUpdataRecord中对客户端提交的数据进行附值,运行时DataSetProvider会对5条记录全部完成附值,并且检查没有错误,验证数据完整后才提交,而不是附值一条记录就提交一次,my god,原来是这样哦。
 
后退
顶部