运行后提示from子句语法错误,大家帮我找一下,我自己发现不了了,谢谢
这是系统登录界面的代码。
代码如下:
unit Unit1;interfaceuses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, DB, ADODB, StdCtrls, Buttons;type
  TLogin = class(TForm)
    Label1: TLabel;
    Edit1: TEdit;
    Label2: TLabel;
    Edit2: TEdit;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    ADOQuery1: TADOQuery;
    procedure BitBtn1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;var
  Login: TLogin;implementationuses Unit2;{$R *.dfm}procedure TLogin.BitBtn1Click(Sender: TObject);
var
   username:string;
   password:string;
begin
  if edit1.Text=''then
     messagebox(Login.handle, '请输入用户名 ', '警告 ',mb_ok+mb_iconwarning)
  else if
     edit2.Text=''then
     messagebox(Login.handle, '请输入密码 ', '警告 ',mb_ok+mb_iconwarning)
  else
     begin
        username:=edit1.Text;
        password:=edit2.Text;
        with ADOQuery1 do
        begin
        close;
        sql.clear;
        sql.add('select username from user where username='''+username+'''');
        sql.add('select password from user where password='''+password+'''');
        open;
        first;
        if recordcount=1 then
           begin
           Login.Hide;
           MainForm.show;
           end
        else
           messagebox(Login.handle,'请输入正确的密码','警告',mb_ok+mb_iconwarning);
        end;
    end;
end;end.

解决方案 »

  1.   

    干嘛写俩句,你那里只要一句SQL语句就可以了 
    sql.add('select   username   from   user   where   username='''+username+''' and  password='''+password+''''); 
      

  2.   

    User是保留的关键字,不能直接用作表名,需要改写成:sql.add('select username from [user] where username='''+username+''''); 
    sql.add('select password from [user] where password='''+password+''''); 
      

  3.   

    你使用什么数据库阿,建议不要用太标准的英语,尽量不要出现如:user,password等等,有可能和数据库关键字重复的
      

  4.   

    上面写的有些问题,再改一下:
    sql.add('select username, password from [user] where username=''' + username + ''' and password=''' + password + '''');