ADOQuery1:=TADOQuery.Create(self);
            ADOQuery1.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source=.\data.mdb;Persist Security Info=False';   //连接字符串
            ADOQuery1.Close;           //关闭QUERY
            ADOQuery1.SQL.Clear;       //清空QUERY中的SQL
            ADOQuery1.SQL.Add('select * from user where username=:A and password=:B');  //重置SQL语句
            ADOQuery1.Parameters.ParamByName('A').Value:=Edit1.Text;        //赋值
            ADOQuery1.Parameters.ParamByName('B').Value:=Edit2.Text;        //赋值
            ADOQuery1.Open;可是总提示from子句语法错误!!

解决方案 »

  1.   

    ADOQuery1:=TADOQuery.Create(self);
                ADOQuery1.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source=.\data.mdb;Persist Security Info=False';   //连接字符串
                ADOQuery1.Close;           //关闭QUERY
                ADOQuery1.SQL.Clear;       //清空QUERY中的SQL
                ADOQuery1.SQL.Add('select * from user where (username=:A) and (password=:B)');  //重置SQL语句
                ADOQuery1.Parameters.ParamByName('A').Value:=Edit1.Text;        //赋值
                ADOQuery1.Parameters.ParamByName('B').Value:=Edit2.Text;        //赋值
                ADOQuery1.Open;
      

  2.   

    同意 peterluolaw
    另外不用参数直接拼接sql再添加到adoquery中试试,有可能参数没有成功传入,记得要初始化一下还是怎么的了
      

  3.   

    'select * from [user] where username=:A and password=:B'
    user是保留字,用[]
      

  4.   

    昨天没有注意的表名,同意楼上的
    ADOQuery1.SQL.Add('select * from [user] where (username=:A) and (password=:B)');