三层结构中应用服务器,怎样更新客户端发过来的数据?(50分)

  • 主题发起人 主题发起人 jiweishan
  • 开始时间 开始时间
J

jiweishan

Unregistered / Unconfirmed
GUEST, unregistred user!
三层结构中应用服务器,怎样更新客户端发过来的数据?(ado连接)
 
我也想知道。
 
Post就可以的啦!
 
Post只是用于本地数据的更新,并没有更新到服务器中。
在客户端用ApplyUpdate(0)进行提交更新数据
服务器接收到命令之后进行数据库的更新~
 
楼主是问应用服务器怎么更新数据库的.
应用服务当然是直接连接到数据库的,所以就直接Post的
 
ApplyUpdate(0)可以解决客户端的问题,但应用服务器不一定提交的数据库服务器,我要的
是触发应用服务器中的提交前的代码编写,谢谢!
 
ApplyUpdate(0)
 
applyupdate(0)
 
这是我的应用服务器的更新数据方法
function TLYSVR.SaveData(var Sql, Data: OleVariant;
MaxError: Integer): OleVariant;
var TmpQry:TMySQLQuery;
TmpDsp:TLYDataSetProvider;
TmpDataSource:TDataSource;
i:integer;
Temp:array of Variant;
mydata,OwnerData:OleVariant;
begin
TmpQry:=CreateQuery(true);
TmpDsp:=CreateProvider;
TmpDsp.DataSet :=TmpQry;
if not VarIsArray(Sql) then
begin
TmpQry.SQL.Add(GetSql(Sql,' 1=0 '));
TmpQry.SQLID:=Sql;
end else
begin
TmpQry.SQL.Add(GetSql(Sql[0],' 1=0 '));
TmpQry.SQLID:=Sql[0];
TmpDataSource:=CreateDataSource;
TmpDataSource.DataSet := TmpQry;
Temp:=Sql;
for i:=1 to high(Temp)do
CreateDetail(Sql,TmpDataSource);
end;

mydata:=Data ;
try
//此处调用解压缩、解密数据代码
//******************//
try
Mydata:=DeCompress(mydata);

OwnerData:=TmpDsp.ApplyUpdates(Mydata,MaxError,i);
setcomplete;
except
setabort;
end;
finally
if not(varisnull(OwnerData)or varisempty(OwnerData)) then
//返回错误时,再次调数据压缩代码
begin
result:=DoCompress(OwnerData);
result:=OwnerData;
end else
Result:=null;
freeDataSet;
end;
//******************//
end;
 
没人回答了吗[:D][?],很难吗?
 
有多种方法可以更新数据,你可以使用TClientDataset+TDatasetProvider进行更新数据,也可以使用自己的方法更新数据,自己找书看吧,一两句话说不清楚
 
后退
顶部