DataRequest怎样处理多个参数的传递 ( 积分: 100 )

  • 主题发起人 主题发起人 悠哉游哉
  • 开始时间 开始时间

悠哉游哉

Unregistered / Unconfirmed
GUEST, unregistred user!
datarequest默认参数只有一个input,如果我要查询的有两个参数怎么处理?谢谢指教!
 
datarequest默认参数只有一个input,如果我要查询的有两个参数怎么处理?谢谢指教!
 
input是OleVariant类型,你可以传入一个记录型或数组之类的参数
 
具体情况是这样的,
with ADOQuery1do
begin
close;
sql.clear;
sql.text:='select var1 from table1 where var2=:a and var3=:b '
parameters.parambyname('a').value:=input[0];
parameters.parambyname('b').value:=input[1];
open;
end;
这样可以么??
 
试了一下,好像不可以啊
 
用VarArrayCreate函数一定可以,使用方法见delphi帮助,很详细的。
 
用ADODataSet
 
在客户端clientdateset.datarequest('参数1+参数2')
在服务器上就 input='参数1+参数2' 的值 再自已进行分解
 
var
A: OleVariant;
begin
A := VarArrayCreate([0, 1], varVariant);
A[0]:=edit1.text;
A[1]:=edit2.text;
cds.Data :=cds.DataRequest(A);
end;

function TForm1.DataSetProvider1DataRequest(Sender: TObject;
Input: OleVariant): OleVariant;
var
i:Integer;
begin
if VarIsArray(Input) then
for I:=VarArrayLowBound(Input,1) to VarArrayHighBound(Input,1)do
label1.caption:=label1.caption+Input;
end;
 
多人接受答案了。
 
后退
顶部