小弟用在Delphi中用一个AdoConnection控件通过ODBC方式来联接了一个Access数据库.
然后又用了一个AdoQuery控件来生成一个记录集,AdoQuery1的Connection属性已经设成了AdoConnection1 然后生成的语句是这样写的:
  Query1.SQL.Clear ;
  sSql:='select * from UserLogin where UserID="'+trim(Edit1.Text )+'" and UserPwd="'+trim(edpassword.Text )+'"';
  Query1.SQL.Add(sSql);
  Query1.Open;
  当执行到Query1.open时系统就出错了:'[Microsoft][ODBC Microsoft Access]参数不足期待是2
  小弟不太明白,是不是我的SQL语句写错了,还请各位帮忙看一下.

解决方案 »

  1.   

    首先检查数据库连接是否可行?  sSql:='select * from UserLogin where UserID='+ QuotedStr(trim(Edit1.Text ))+' and UserPwd='+ QuotedStr(trim(edpassword.Text ));另外,可以考虑直接用OLE DB的方式连接ACCESS
      

  2.   

    to zfrmich
    你的代码我试过了,where后面只有一个条件的话就没有错了.可超过一个条件还是出错,错误信息是一样的,只变成期待是1
    我的AdoConnect1的连接是这样设的:
       Adoconnect1.LoginPrompt:=false;
       Adoconnect1.ConnectionString:='Provider=MSDASQL.1;Persist Security Info=False;User ID=sa;Data Source=test';
       Adoconnect1.Open;
    我的代码在执行SQl数据库时应该没有问题吧?
      

  3.   

    是传参数的时候有问题,因为
    USERID是INT型,所以没有错误,而USERPWD是STRING需要‘’