AdoQuery的SQL是:
select sum(yy) from dba01
where id in(:id)
ADOQuery1.Parameters.ParamByName('id'):='(1,2,3,4)';

解决方案 »

  1.   

    AdoQuery的SQL是:
    select sum(yy) from dba01
    where id in(:id)
    param是id AdoQuery.Paramters.ParamByName('ID').DataType := ftString;
    AdoQuery.Paramters.ParamByName('ID').Value    := '1,2,3,4,5';
      

  2.   

    DataType可以在属性里设置好,(凑热闹):)
      

  3.   

    to genphone_ru(票票) 
    不好意思忘了说id是varchar类型
      

  4.   

    AdoQuery.Paramters.ParamByName('ID').DataType := ftString;
    AdoQuery.Paramters.ParamByName('ID').Value    := Edit1.text;//可否?
      

  5.   

    对不起,上面写错了
    ADOQuery1.Parameters.ParamByName('id').asstring:='(1,2,3,4)';
      

  6.   

    to all
    非常感谢大家但都不正确。AdoQuery.Paramters.ParamByName('ID').DataType := ftString;
    根本就不需要AdoQuery会根据id字段的类型设置参数id的DataType
      

  7.   

    function tfqryfeewhere.get_month_where:string;
    var
      month,monthlist:string;
      i:integer;
    begin
      month:=cmbmonthstart.Text;
      monthlist:=' and (fee.Amonth in ('''+month+''',';
      for i:=cmbmonthstart.ItemIndex+1 to cmbmonthend.ItemIndex do
        begin
          month:=cmbmonthstart.Items[i];
          monthlist:=monthlist+''''+month+''',';
        end;
      delete(monthlist,length(monthlist),1);
      monthlist:=monthlist+'))';
      result:=monthlist;
    end;
      

  8.   

    select * from a where id in(select id from b)
      

  9.   

    select sum(yy) from dba01
    where id in("1","2","3");
      

  10.   

    AdoQuery.Paramters[0].value:='123';
    不行吗?
      

  11.   

    sql语句我也会写但是这个查询必须用AdoQuery实现
    sql是:select sum(yy) from dba01
           where id in(:id)
    关键问题是如何给id赋值。
      

  12.   

    to lxl(蚊蚊) 
      我的查讯条件是n个id值,如果只有一个值还用in干吗,直接id='123'不是更好吗?
      

  13.   

    用一个笨方法吧
    with ADOQuery1 do
      begin
        Close;
        SQL.Clear;
        SQL.Add('DECLARE @id varchar(99)          ');
        SQL.Add('SELECT @id = :id                 ');
        SQL.Add('EXECUTE(''SELECT sumyy = SUM(yy) ');
        SQL.Add('  FROM TABLE3                    ');
        SQL.Add(' WHERE id IN ''+@id)             ');
        Parameters.ParamByName('id').Value := '(1,2)';
        Open;
      end;