执行TClientDataSet.ApplyUpdates(0)方法时出错?(50分)

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

cc112233

Unregistered / Unconfirmed
GUEST, unregistred user!
我目前正在开发一个三层的系统,出错如下问题,请大家指教!
procedure TfrmKXDZ.btnSaveClick(Sender: TObject);
Var
cdsVar :TClientDataSet;
begin
if Not (dst.DataSet is TClientDataSet) then
Exit;
cdsVar := dsT.DataSet as TClientDataSet;
if cdsVar.State in [dsEdit,dsInsert] then
begin
cdsVar.Post;
end;
if cdsVar.ChangeCount >0 then
begin
Try
cdsVar.ApplyUpdates(0);//不触发异常执行该句时,发现并没有将更新数据提交到数据表中,不知是保原因,谢谢各位高手指教,分数50,见者有份,不够再给。
Except
Application.MessageBox('保存不成功!','错误',MB_OK+ MB_ICONSTOP);
Exit;
end;
end;
end;
 
把pos放到try中试一下.
 
试过,post 没有问题,数据却不能更新到数据库里!
 
在ClientDataSet.OnReconcileError事件中写代码:
procedure TForm1.DataSetReconcileError(
DataSet: TCustomClientDataSet;
E: EReconcileError;
UpdateKind: TUpdateKind;
var Action: TReconcileAction);
begin
inherited;
ShowMessage(e.Message);
Action := raAbort;
end;
 
老兄啊,我正是因为不想在这个事件中定代码才采用TClientDataSet.ApplyUpdates(0)的。
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
500
import
I
I
回复
0
查看
472
import
I
后退
顶部