读书人

怎么将服务器端AdoQuery查询返回的数据

发布时间: 2012-03-16 16:34:56 作者: rapoo

如何将服务器端AdoQuery查询返回的数据集传回给ClientDataSet?
请问:
用ClientDataSet.DataRequest传递SQL参数到服务器端
服务器端用此参数进行查询,如何将服务器端AdoQuery查询返回的数据集传回给ClientDataSet?


我用的DataSetProvider的OnDataRequest事件
在这个事件中打开AdoQuery查询
就是不知道怎么将查询结果返回给客户端的ClientDataSet


[解决办法]
ClientDataSet与Query、ADOQuery、Table等等一样,都是DataSet

另外你可以写自定义方法AppServer
[解决办法]
DataSetProvider1.dataset = adoquery
ClientDataSet.Providername = DataSetProvider1
配置好属性后
////////////
function GetDataSet(SQLCommand:string;DataSet:TClientDataSet):
Integer;
begin
try
adoconnection1.Connected:=false;
adoconnection1.Connected:=true;
clientdataset1.Active:=false;
clientdataset1.CommandText:=SQLCommand;
clientdataset1.Active:=true;
DataSet.Data:=ClientDataSet1.Data;
clientdataset1.Active:=false;
result:=S_OK;
except
result:=S_False;
end;
end;

[解决办法]
在服务器中加入DataSetProvider1 并设置
DataSetProvider1.dataset = adoquery

function OpenData(SQLSTR:string):OleVariant;
begin
with adoquery do
begin
close;
SQL.Clear;
SQL.Add(SQLSTR);
try
open;
Result := DataSetProvider1.Data;
close;
except
close;
end;
end;
end;

clientdataset.Data:=OpenData( 'select * from tblTest ');


读书人网 >.NET

热点推荐