"invalid data packet" 帮忙 (50分)

  • 主题发起人 无忧鱼
  • 开始时间

无忧鱼

Unregistered / Unconfirmed
GUEST, unregistred user!
环境:D7+SQL2000,中间层:MTS,MTSMODULE:需要事务
三层服务器端的一个保存数据方法:
function TLYSVR.SaveData(const MSql: WideString;
var DSql,
Data: OleVariant;
MaxError, MDModule: Integer): OleVariant;//Data为前台数据集的DELTA
var
TmpQry:TSqlquery;
TmpDsp:TDataSetProvider;
TmpDataSource:TDataSource;
i,ErrorCount:integer ;
begin
TmpQry:=TSqlquery.Create(nil);
TmpQry.SQLConnection :=SQLConnection1;
TmpQry.SQL.Add(MSql);
TmpDsp:=TDataSetProvider.Create(nil);
TmpDsp.DataSet :=TmpQry;
try
TmpDsp.ApplyUpdates(Data,MaxError,ErrorCount);
finally
TmpQry.Close ;
TmpQry.Free ;
TmpDsp.Free ;
end;
end;
客户端方法:
procedure TForm1.Button3Click(Sender: TObject);
var Msql:string;
Mdata,Dsql:eek:levariant;
i:integer;
begin
i:=0;
Msql:='select * from TABLE1 where 1=0';
DSql:='';
if ClientDataSet1.ChangeCount>0 then
begin
Mdata:=ClientDataSet1.delta ;
ClientDataSet3.data:=Mdata ;
* mytempObj.SaveData(MSql,DSql,Mdata,i,0);//mytempObj为COM+对象
end;
end;
问题:
当前台点击BUTTUN3保存时,运行到"*"号处时出现:invalid data packet错误,但数据偶尔
能够保存
小弟查看了很久不知道问题出在哪儿,请高手指点指点.
 

Mdata:=ClientDataSet1.delta ;
ClientDataSet3.data:=Mdata ;
>????
你这样处理后ClientDataSet3.delta就是空的
 
接受答案了.
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
842
SUNSTONE的Delphi笔记
S
顶部