ADOQuery1.sql.add('select * from ku where');
    adoquery1.SQL.Add('xh='''+combobox1.Text+'''');
    adoquery1.SQL.Add('and rq BETWEEN '''+datetostr(begin_date.Date)+''' and '''+datetostr(end_date.date)+'''');
提示“=”附近有错误

解决方案 »

  1.   

    adoquery1.SQL.Add(' xh='''+combobox1.Text+'''');  //少空格
      

  2.   

    都加空格,养成习惯
    ADOQuery1.sql.add(' select * from ku where');
        adoquery1.SQL.Add(' xh='''+combobox1.Text+'''');
        adoquery1.SQL.Add(' and rq BETWEEN '''+datetostr(begin_date.Date)+''' and '''+datetostr(end_date.date)+'''');
      

  3.   

    楼上说的对头,还有你可以把sql 语句输出来看看啊。
      

  4.   

    ADOQuery1.close;
        ADOQuery1.sql.clear;    if trim(combobox1.Text)='任意' then
        ADOQuery1.sql.add('select * from ku where rq BETWEEN '''+datetostr(begin_date.Date)+''' and '''+datetostr(end_date.date)+'''');    if trim(combobox1.text)<>'任意' then
        ADOQuery1.sql.add('select * from ku where');
        adoquery1.SQL.Add(' xh='''+combobox1.Text+'''');
        adoquery1.SQL.Add('and rq BETWEEN '''+datetostr(begin_date.Date)+''' and '''+datetostr(end_date.date)+'''');刚才试过了,我要是在combobox1中不选任意,就没事,只要一选任意,就提示我在xh附近有错!    ADOQuery1.open;
      

  5.   

    With ADOQuery1 do 
    begin
      CLose;
      SQL.Add('select * from ku where ');//注意空格
      SQL.Add('xh='''+combobox1.Text+''' '); //注意空格
      SQL.Add('and rq BETWEEN '''+datetostr(begin_date.Date)+''' and '''+datetostr(end_date.date)+'''');end;
      

  6.   

    adoquery1.SQL.Add(' xh='''+trim(combobox1.Text)+'''');
      

  7.   

    没看明白选“任意”,不就是*了吗,怎么还有'xh'啊。
    adoquery1.sql.add('select * from ku where');
    adoquery1.sql.add(' xh = '+''''+combobox1.text+'''');
    adoquery1.sql.add(' and rq BETWEEN '+''''+datetostr(begin_date.date)+''''+'and'
                      +''''+datetostr(end_date.date)+'''');
      

  8.   

    ADOQuery1.close;
        ADOQuery1.sql.clear;    if trim(combobox1.Text)='任意' then
        ADOQuery1.sql.add(' select * from ku where rq BETWEEN '''+datetostr(begin_date.Date)+''' and '''+datetostr(end_date.date)+'''');    if trim(combobox1.text)<>'任意' then
        ADOQuery1.sql.add(' select * from ku where');
        adoquery1.SQL.Add(' xh='''+trim(combobox1.Text)+'''');
        adoquery1.SQL.Add(' and rq BETWEEN '''+datetostr(begin_date.Date)+''' and '''+datetostr(end_date.date)+'''');    ADOQuery1.open;先谢谢楼上几位,改成这样还是不行,“xh”附近有错误
      

  9.   

    ADOQuery1.close;
        ADOQuery1.sql.clear;
        ADOQuery1.sql.add(' select * from ku where 1=1 ');
        
        if trim(combobox1.text)<>'任意' then
        begin
             adoquery1.SQL.Add(' and  xh='''+trim(combobox1.Text)+'''');
             adoquery1.SQL.Add(' and rq BETWEEN '''+datetostr(begin_date.Date)+'''    and '''+datetostr(end_date.date)+'''');
        end    ADOQuery1.open;加個1=1 ,不管有沒有條件都是加 'and '
      

  10.   

    ADOQuery1.close;
        ADOQuery1.sql.clear;    if trim(combobox1.Text)='任意' then
        ADOQuery1.sql.add(' select * from ku where rq BETWEEN '''+datetostr(begin_date.Date)+''' and '''+datetostr(end_date.date)+'''')    else 
    begin
         ADOQuery1.sql.add(' select * from ku where');
         adoquery1.SQL.Add(' xh='''+trim(combobox1.Text)+'''');
         adoquery1.SQL.Add(' and rq BETWEEN '''+datetostr(begin_date.Date)+''' and '''+datetostr(end_date.date)+'''');
    end;
        ADOQuery1.open;
      

  11.   

    jiang130能不能讲一下,为什么加1=1就行了?
      

  12.   

    1=1是一個絕對成立的條件,只是加上它以后,后面的條件放心用and 連,而不必考慮用 where 還是 and
      

  13.   

    在open行设断点,执行到的时候,点ADOQUERY1,按Ctrl+F7,在上面输入adoquery1.sql.text 回车把下面的SQL拉出来执行看看,就知道错在哪了