我也遇到过相同的问题,解决方法是:
1,在服务器端TDataSetProvider的UpdateMode改为UpWhereKeyOnly,此时需要在TADOQuery中有一个主键字段(如:KeyID)动态的更改该字段属性ProviderFlags的值,如:ADOQuery1.FieldByName('KeyID').ProviderFlags:= [pfInUpdate, pfInWhere, pfInKey];
2,如是没有KeyID字段,TDataSetProvider的UpdateMode改为upWhereChanged,此时,数据库里日期型字段不要用Datetime型,改用smallDatetime,因为Delphi会自动丢弃秒后面的“毫秒”,造成前后的数据不一致而无法更新到数据库.
但主从表结构,主表可以改,从表不能更新的情况还不知如何处理,正在郁闷中,有人遇到主从表不能更新的情况有好的解决方法,麻烦大家共享一下....