ADOQuery1.SQL.Add('Select * form IDTable');
ADOQuery1.SQL.Add('where 人员代号='+Edit1.Text);
ADOQuery1.SQL.Add('and 密码='+MaskEdit1.Text)
字符串连接出错了.搜索一下前面的帖子就知道了.

解决方案 »

  1.   

    不客气.
    要像这样:
    adoquery1.sql.add('select * from biolife.db where category='''+str+'''')
    注意中间的空格.
    要是觉得空格麻烦的话最好使用主变量处理.
    adoquery1.sql.add('Select * form IDTable where 人员代码=:Pcode and密码=:psw');
    adoquery1.parameters.parambyname('pcode').value:=edit1.text;
    adoquery1.parameters.parambyname('psw').value:=maskedit1.text;
    try
    adoquery1.open;
      

  2.   

    sorry,漏了.
    try
    adoquery1.open;
    except
    end;
      

  3.   

    我把ADOQuery1.SQL.Add('Select * form IDTable');改成了
    ADOQuery1.SQL.Add('Select * form IDTable where 人员代号='+edit1.Text+' and 密码='+MaskEdit1.Text);
    还是不行,仍然是那个错误。
      

  4.   

    ADOQuery1.SQL.Add('Select * form IDTable');
    ADOQuery1.SQL.Add('where 人员代号='+Edit1.Text);
    ADOQuery1.SQL.Add('and 密码='+MaskEdit1.Text);
    這段代碼改為:
    ADOQuery1.SQL.Add('Select * form IDTable');
    ADOQuery1.SQL.Add('where 人员代号='''+Edit1.Text+''');
    ADOQuery1.SQL.Add('and 密码='''+MaskEdit1.Text+'''');
      

  5.   

    ADOQuery1.Close;
    ADOQuery1.SQL.Clear;
    ADOQuery1.SQL.Add('Select * form IDTable');
    ADOQuery1.SQL.Add('where 人员代号='+QuotedStr(Edit1.Text));
    ADOQuery1.SQL.Add(' and 密码='+QuotedStr(MaskEdit1.Text));
                  //   ^此处有个空格,QuotedStr(str)是给str加上单引号
    ADOQuery1.Open;
      

  6.   

    不是ado的问题,你看看你程序有没有用线程,我在有CB时用API创建线程,在线程中用adoquery就出现这个问题。
      

  7.   

    试试
    ADOQuery1.SQL.Add('Select * form IDTable');
    ADOQuery1.SQL.Add(' where 人员代号='''+Edit1.Text+ '''');
    ADOQuery1.SQL.Add(' and 密码='''+MaskEdit1.Text+ '''')
      

  8.   

    ADOQuery1.SQL.Add('Select * form IDTable');
    ADOQuery1.SQL.Add(' where 人员代号='''+Edit1.Text+ '''');
    ADOQuery1.SQL.Add(' and 密码='''+MaskEdit1.Text+ '''')
      

  9.   

    SQL于具有问题,建议你使用动态参数!
      

  10.   

    如果对多少个单引号不明白的话还是用动态参数好些;
    ADOQuery1.Close;
    ADOQuery1.SQL.Clear;
    ADOQuery1.SQL.Add('Select * form IDTable');
    ADOQuery1.SQL.Add('where 人员代号=:ID');
    ADOQuery1.SQL.Add(' and  密码=:ps');
    //在此赋ID和PS的值就行了!
    ADOQuery1.Open;