老师, delphi 中用ADOquery查询Access, sql 语句怎么写?
  
 此sql 句错在那里
 adoquery1.SQL.Add('select * from 操作表 where   (操作号 ='+''''+ trim(edit1.text) + '''') and ( 密码='+''''+trim(edit2.text)+''''));  

解决方案 »

  1.   

    你这句应该编译不了吧?
    '''') and ( 密码='
    改为
    ''') and ( 密码='
      

  2.   


    adoquery1.SQL.Add('select * from 操作表 where 操作号 = ' + QuotedStr(Trim(edit1.text))  + ' and  密码 = ' + QuotedStr(Trim(edit2.text)) );
      

  3.   

    这样也可以:adoquery1.SQL.Add(Format('select * from 操作表 where 操作号 = %s and  密码 = %s' , [ QuotedStr(Trim(edit1.text)),QuotedStr(Trim(edit2.text))] ));
      

  4.   

      老师,下面语句出错   adoquery1.SQL.Clear;
       adoquery1.SQL.Add('select * from 操作表 where   (操作号 ='+''''+ trim(edit1.text) + ''') and ( 密码='+''''+trim(edit2.text)+'''')');
       adoquery1.Open;
      出错,不知错在那里.
      [Error] fm.pas(38): Unterminated string
      

  5.   


    with adoquery1 do
      begin
        Close;
        SQL.Text := Format('select * from 操作表 where 操作号 = %s and  密码 = %s', 
             [QuotedStr(edit1.text),QuotedStr(edit2.text)]);
        Open;
      end;
      

  6.   

    帮你修改
    adoquery1.SQL.Clear;
    adoquery1.SQL.Add('select * from 操作表 where (操作号 ='
    +''''
    + trim(edit1.text) 
    + ''') and ( 密码='
    +''''
    +trim(edit2.text)
    +''')' );
    adoquery1.Open;
      

  7.   

    谢谢各位老师,用了2楼和3楼老师的sql 语句,明天结贴,各给20分,
      

  8.   

    总是很简单,SQL语句字符串拼得不对
    调试一下,把SQL语句取出来看一下就明白了