下面是一个更新的例子,获取就是逆向操作改改就行了
就是中间层是个procedure gettb(var t:OleVariant);
function Tgetdataup.updatetb(t: OleVariant): Integer;
var i:integer;
begin
result:=0;
try
cn.begin
Trans;
if (varisarray(t)) then
for i:=VarArrayLowBound(t,1) to VarArrayHighBound(t,1)do
begin
proc.Parameters.ParamByName('@tempym').Value:=trim(t[0]);
proc.Parameters.ParamByName('@tempsl').value:=t[1];
proc.ExecProc;
end;
cn.CommitTrans;
result:=1;
except
cn.RollbackTrans;
result:=0;
end;
end;
在客户端传递表中获取的数据信息
procedure TForm1.Button1Click(Sender: TObject);
var temptlevariant;
i:integer;
tempym:widestring;
tempsl:integer;
begin
cds.First;
i:=0;
tempt:=vararraycreate([0,cds.RecordCount-1],varvariant);
while not cds.Eofdo
begin
tempym:=cds['ym'];
tempsl:=cds['ypsl'];
tempt:=vararrayof([tempym,tempsl]);
i:=i+1;
cds.Next;
end;
if (skt.AppServer.updatetb(tempt))=1 then
showmessage('更新成功!!')
else
showmessage('更新失败!!');
end;