请问各位高手,以下代码出错在何方,可否给出源代码,谢谢!!!
//应用服务器
procedure Tzcgl.apply(cdustvar: OleVariant);
var
errcount:integer;
begin
zxconn.BeginTrans;
try
if not varisnull(cdustvar) then
begin
//数据在这里出错
cdustvar:=datasetprovider1.ApplyUpdates(cdustvar,-1,errcount); 
if errcount > 0 then  abort;
end;
zxconn.CommitTrans;
except
zxconn.RollbackTrans;
end;
end;客户端//
var ccustvar:olevariant;
begin
clientdataset1.CheckBrowseMode;
if clientdataset1.ChangeCount > 0 then
ccustvar:=clientdataset1.Delta else ccustvar:=null;
socketconnection1.AppServer.apply(ccustvar);
if  not varisnull(ccustvar) then
begin
clientdataset1.reconcile(custvar);
clientdataset1.refresh;
end;end;

解决方案 »

  1.   

    使用Tclientdataset不是可以直接更新,不用自己写更新代码吗?你是希望数据传输只传输更该过的数据是吗,但是我觉得madis应该自己做了这件事。直接用tclientdataset.update应该就可以吧。还有就是你的错误信息是什么?
      

  2.   

    //数据在应用服务器这里出错
    cdustvar:=datasetprovider1.ApplyUpdates(cdustvar,-1,errcount); 我是希望能够使用以上代码实现一个数据库中的不同表要么同时成功添加数据,要么同时失败添加数据的功能!也就是说当我更改了A,B,C表时要么这三个表都成功提交,要么这三个表提交都失败!另外能否给出你们的代码,可让我做参考!谢谢!