数据更新(50分)

  • 主题发起人 主题发起人 cdly74
  • 开始时间 开始时间
C

cdly74

Unregistered / Unconfirmed
GUEST, unregistred user!
我在应用服务端利用ADO实现了与数据库的连接,并向客户端提供了数据集,但在客户端就是不能用APPLYUPDATES将数据的变更更新到数据库中去,但显示却是正确的无错,请各位大侠指点。另外似乎用BDE或ODBC与数据库连接时可以。谁能讲一讲这个中原因。有道理者都有分的。
 
检查你的各个字段等会引起数据库回滚的地方吧
 
DataSetProvider的options属性中的poAllowCommandText 要设为true
 
to supermay:
小弟不明白你说的什么,能不能具体点啊。
 
肯定是出错了,在三层结构中你的前台是得不到错误提示的,这一点确实很郁闷,不过你要是跟踪一下中间层肯定会得到错误信息!
如果你前台要得到中间层发布的错误,你可以在onupdateerror中加一个raise语句;
---至于为什么不加这条语句前台就得不到错误提示,可能是delphi的原代码的某个地方用了try..except end;
具体我没有跟踪,可能borland这样也是有道理的吧![:(]
 
DataSetProvider的UpdateMode设置upWhereChanged
 
注意:请问你的数据表中有没有设置主键,如果没有设置主键可能回出现不能提交数据的情况。我以前做中间层的时候遇到过这个问题.
 
另外,在前台是可以得到错误信息的。
方法是:
procedure TForm1.ClientDataSet1PostError(DataSet: TDataSet;
E: EDatabaseError;
var Action: TDataAction);
begin
showmessage(E.Message);
end;
 
在ClientDataSet的OnReconcileError事件中可以获得错误信息,查看一下看是什么原因吧。
 
多人接受答案了。
 
后退
顶部