数据更新问题!!急!!!(100分)

  • 主题发起人 主题发起人 goodyang
  • 开始时间 开始时间
G

goodyang

Unregistered / Unconfirmed
GUEST, unregistred user!
本人用clientdataset批量增加记录,调用clientdataset1.ApplyUpdates(0)更新数据库成功,
但批量修改或删除记录,再调用clientdataset1.ApplyUpdates(0)更新数据库就失败,什么原因??
请各位高手帮忙!!
 
是怎么失败的?
是完全没有修改/删除成功,还是已做了修改但没有修改正确?
我遇到过一种情况:明明是对某一条记录修改,但更改之后却发现改动了
另一条,
你可以说的具体点
 
完全没有修改/删除
 
有没有报错误呢?你可以在ClientAll的OnReconcileError里写如下代码,看看报
什么错误:
showMessage(E.message);
TClientDataSet(DataSet).CancelUpdates;
abort;
 
在相应的Provider的DataSet中静态加上字段,并且将更新类型设为 wherekeyonly,设上相应的key试试
 
tomol:
showMessage(E.message);
TClientDataSet(DataSet).CancelUpdates;
abort
运行不了阿
 
在判断
Try
If ClientDataSet1.State In dsEditModes then

begin
If ClientDataSet1.ApplyUpdate(0)>0 then

Messagebox(Handle,Pchar(E.message),'',16)
else
ClientDataset1.RefreshRecord;
//必须保证有主键
end;
Except
On E:Exceptiondo
Messagebox(handle,Pchar(E.message),'',16);
end;

另可在ClientDataset1的ONReconcileError事情中加入以下一段代码,检查是什么错误
begin
Messagebox(Handle,Pchar(E.Message),'',16);
Action:=RaAbort;
end;
 
有什么错误,最好把它记下来,这样我们也可以知道到底哪里出错了,
那段代码不能用,到底报什么错误呢?
 
我的clientdataset1 是放在dataModul里的 ,在ClientDataset1的ONReconcileError事情中加入以下一段代码,检查是什么错误
begin
Messagebox(Handle,Pchar(E.Message),'',16);
Action:=RaAbort;
end;
运行不了,提示:
undeclared identifier:'messagebox'
undeclared identifier:'hangdle'
could not compile unit'Fdm.pas'
是什么原因????
多谢指导!!!
 
我的那段代码可以用啊,liujunzhang的那段代码需要在MessageBox和handle前加
Application.
 
加上它还是没有错误提示,,,累!!!!
 
同意 来自:hbwyq, 时间:2002-12-30 11:58:00, ID:1548113
在相应的Provider的DataSet中静态加上字段,并且将更新类型设为 wherekeyonly,设上相应
更新主键.
通常不能更新删除,都是前后端定位用的更新字段的对应关系除了问题.比如前端的字段增加了,
后端没有...
 
后退
顶部