我想用adostroedproc返回一个数据集:如 select a from table_a 
在前端用adoquery进行子查询:
如adoquery.sql.add(select * from table_b where a in .....?);
这里应该怎样把adostroedproc中的数据返回给adoquery作为查询参数.

解决方案 »

  1.   

    先用一个变量赋值,然后再写人SQL语句
      

  2.   

    好象需要先把adostoedproc的值取出来,再进行sql查询
      

  3.   

    adoquery.sql.add(select * from table_b where a in (select a from table_a ));
    不就可以吗!
      

  4.   

    定义一个Tstringlist的类
    example :class function getsqlstr(fieldname,resultstr:string,qry:tquery):boolean;
    var
      fieldlist:Tstringlist;
    begin
      fieldlist:=Tstringlist.create;
      while qry.eof do
      begin
        fieldlist:=fieldlist+','+qry.fieldbyname('+fieldname+').asstring;
        qry.next;
      end;
      resultstr:=copy(fieldlist,2,length(fieldlist)-1);
      if length(resultstr)<>0 then result:=true
      else result;=false;
    end;
    var
      str:string;
    if getsqlstr('your fieldname',resultstr,your query1) then
      str:=resultstr;
    Query1.close;
    Query1.sql.text;='select....in(str)'
    Query1.open;
    ok;
      

  5.   

    赞成  DelUser(探索者) 的方法