ADOQuery1.SQL.Add('SELECT * FROM psw where username='+username+'and password='+password);我这个sql语句写对了吗?username ,password是一个变量,但是一运行就出错,是什么问题?还有一个问题,maskedit1.Text:=adoquery1.FieldValues['date_alert'];
其中还有一个dbgrid绑定一个datasource
datasourxe1.dataset:=adoquery1
dbgrid1.datasource:=datasource1
我想实现当dbgrid里面改变数据行的时候,maskedit1.Text跟着改变,这个怎么实现啊?

解决方案 »

  1.   

    用参数吧
    ADOQuery1.SQL.Add('SELECT * FROM psw where username=:xName and password=:password');
      

  2.   

    ADOQuery1.SQL.Add('SELECT * FROM psw where username='''+username+''' and password=''''+password+'''');
      

  3.   

    多了一个'
    ADOQuery1.SQL.Add('SELECT * FROM psw where username='''+username+''' and password='''+password+'''');
      

  4.   

    要是用ADO联接ACCESS库,这样写管用:ADOQuery1.SQL.Text := 'SELECT * FROM psw where username= "' + username + '" and password= "'+ password + '"';
    要是联接Sql server,还是用参数吧。
      

  5.   

    ADOQuery1.SQL.Add('SELECT * FROM psw where username='+quotedstr(username)+'and password='+quotedstr(password));
      

  6.   

    要用引号把username和password弄起来的
      

  7.   

    ADOQuery1.SQL.Clear;
    ADOQuery1.SQL.Add('SELECT * FROM psw where username='''+username+'''and password='''+password + '''');
      

  8.   

    ADOQuery1.SQL.Add('SELECT * FROM psw where username='+username+'and password='+password);
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    ADOQuery1.SQL.Add('select * from psw where [username]= '+username+' and [password]= '+password);
    ADOQuery1.SQL.Add('select * from psw where [username]= '''+username+''' and [password]= '''+password+'''');
      

  9.   

    ADOQuery1.SQL.Add('select * from psw where [username]= '''+username+''' and [password]= '''+password+'''');
      

  10.   

    QuotedStr(username),password也是这么用。但必须是字符类型的。这个函数的作用是在字符串两边加上引号。比起用“''”这个不容易搞错。
      

  11.   

    你用的是什么数据库,username和password可能是关键字,建议改名