你是不是要在客户端生产本地表,然后再提交到服务器上,哪这可完成你的要求。
用ADODataSet,把CommandType属性设为cmdFile,在CommaneText中设上本地的路径,如:H:/Pos/Data/Salelist.adtg 。
可用以下程序从服务端数据库中更新数据,
FileName:本地表名(H:/Pos/Data/Salelist.adtg );
ADODataSet:ADODataSet控件名;
SQLStr:更新数据用的查询SQL语句;
procedure TPosMainFrm.miRefreshClick(Sender: TObject);
var FileName:String;
begin
FileName:=AppPath+'Data/ItemDet.adtg';
GetFile(FileName,ADODataSet,SQLStr);
end;
procedure TPosMainFrm.GetFile(FileName:String;Cds:TAdoDataSet;Cmd:String);
begin
if not AdoConn.Connected then
begin
try
AdoConn.ConnectionString:=ConnString;
AdoConn.Connected:=true;
except
if EditConnectionString(AdoConn) then
begin
ConnString:=AdoConn.ConnectionString;
end
else Exit;
end;
end;
if Cds.Active then Cds.Close;
if FileExists(FileName) then DeleteFile(FileName);
Cds.CommandText:=Cmd;
Cds.CommandType:=CmdText;
Cds.Open;
Cds.SaveToFile(FileName);
Cds.LoadFromFile(FileName);
end;
用以下语句向服务端数据库进行提交:
AdsPosSale.UpdateBatch;