var
    iCount: Integer
begin
    iCount := 2;
    Query1.Close;
    Query1.SQL.Clear;
    Query1.SQL.Add('Select * from TableName Where IntField = ' + IntToStr(iCount));
    Query1.Open;end;

解决方案 »

  1.   

    如果是日期?如:
    st:tdate;
    .....
    st:=xxxxx;
    ...
    Query1.SQL.Add('Select  *  from  TableName  Where  IntField  =  '  +  dateToStr(st)+')'; 
    ......
    那就错误了,有好办法吗?        
      

  2.   

    sql.add('select * from table1 where id=:id');
    parambyname('id').asinteger=id;
    open;OK???
      

  3.   

    那只有自己组合SQL语句了
    sql.text := 'select * from table where int字段='+inttostr(值);
      

  4.   

    我就是不想用:parambyname 的。
      

  5.   

    Query1.SQL.Add('Select    *    from    TableName    Where    IntField    =    '''    +    FormatDateTime('yyyy-mm-dd',st)+''')';  yyyy-mm-dd可能需要用你的数据库支持的时间格式代替。
      

  6.   

    用datetostr出错是因为漏了撇号!
    add('select  * from tabl1 where date="'+datetostr()+'"');
      

  7.   

    是日期需要这样:
    st:tdate; 
    ..... 
    st:=xxxxx; 
    ... 
    Query1.SQL.Add('Select    *    from    TableName    Where    IntField    =    '+'''' +    dateToStr(st)+'''');  
    ...... 
      

  8.   

    i:integer;
    inttostr(i);
    同样可以换其他的
      

  9.   

    对于日期型数据与你的数据库有关,如:
      ACCESS:
        sql.text := 'select * from tbl where aDateField = ''' +
          DateToStr(Date()) + '''';
      ORACLE:
        sql.text := 'select * from tbl where aDateField = TO_DATE(''' +
          DateToStr(Date()) + ''', ''YYYY-MM-DD'')';
    当然,你当前的日期格式也将直接影响DateToStr之类的函数结果字符串形式,最好设成"YYYY-MM-DD"以确保上述SQL语句构造能正常运行。