运行时一直提示出错,说关键字“User”附近有语法错误。设置断点,一步步运行的时候,到了ADOQuery_Login.Open;就出错了,为什么呢?请高手帮忙!!谢谢!
unit Login;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, DB, ADODB;type
TForm1 = class(TForm)
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
eUsername: TEdit;
ePassword: TEdit;
bLogin: TButton;
bRegister: TButton;
bReset: TButton;
ADOConnection1: TADOConnection;
ADOQuery_Login: TADOQuery;
procedure bRegisterClick(Sender: TObject);
procedure bResetClick(Sender: TObject);
procedure bLoginClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementationuses Register,Main; {$R *.dfm}procedure TForm1.bRegisterClick(Sender: TObject);
begin
Hide;
Form2.Show;
end;procedure TForm1.bResetClick(Sender: TObject);
begin
eUsername.Text:='';
ePassword.Text:='';
end;procedure TForm1.bLoginClick(Sender: TObject);
var sUsername: string;
sPwd: string;
sWord: string;
begin
sUsername:=eUsername.Text;
sPwd:=ePassword.Text;
sWord:='select Username,Password from User where Username='+#39+sUsername+#39' and Password='+#39+sPwd+#39'';
ADOQuery_Login.Close;
ADOQuery_Login.SQL.Clear;
ADOQuery_Login.SQL.Add(sWord);
ADOQuery_Login.Open;
//ADOQuery_Login.Active:=true;
if ADOQuery_Login.Recordset.RecordCount = 0 then
begin
ADOQuery_Login.Close;
ShowMessage('用户名或密码错误!');
end
else begin
ADOQuery_Login.Close;
ShowMessage('用户名或密码正确!');
//Hide;
//Form3.Show;
end
end;end.
unit Login;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, DB, ADODB;type
TForm1 = class(TForm)
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
eUsername: TEdit;
ePassword: TEdit;
bLogin: TButton;
bRegister: TButton;
bReset: TButton;
ADOConnection1: TADOConnection;
ADOQuery_Login: TADOQuery;
procedure bRegisterClick(Sender: TObject);
procedure bResetClick(Sender: TObject);
procedure bLoginClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementationuses Register,Main; {$R *.dfm}procedure TForm1.bRegisterClick(Sender: TObject);
begin
Hide;
Form2.Show;
end;procedure TForm1.bResetClick(Sender: TObject);
begin
eUsername.Text:='';
ePassword.Text:='';
end;procedure TForm1.bLoginClick(Sender: TObject);
var sUsername: string;
sPwd: string;
sWord: string;
begin
sUsername:=eUsername.Text;
sPwd:=ePassword.Text;
sWord:='select Username,Password from User where Username='+#39+sUsername+#39' and Password='+#39+sPwd+#39'';
ADOQuery_Login.Close;
ADOQuery_Login.SQL.Clear;
ADOQuery_Login.SQL.Add(sWord);
ADOQuery_Login.Open;
//ADOQuery_Login.Active:=true;
if ADOQuery_Login.Recordset.RecordCount = 0 then
begin
ADOQuery_Login.Close;
ShowMessage('用户名或密码错误!');
end
else begin
ADOQuery_Login.Close;
ShowMessage('用户名或密码正确!');
//Hide;
//Form3.Show;
end
end;end.
sUsername+#39 +'and Password='+#39+sPwd+#39;
你可以把user加上方括号(...from [user]...)再试试看
另外[User],这样也是可以的,谢谢啦!!!
2.如果真的要用它,在User左右加單引號.