学delphi不到一个星期 赶鸭子上架啊 高手来帮忙 明天要用
unit login;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;type
TloginF = class(TForm)
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Button1: TButton;
Button2: TButton;
Label4: TLabel;
Edit4: TEdit;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
loginF: TloginF;implementationuses DM, main;{$R *.dfm}procedure TloginF.Button1Click(Sender: TObject);
var
code,pass,name,position:string;
begin
code:=edit1.Text;
pass:=edit3.Text;
DBM.ADOQuery1.Close;
DBM.ADOQuery1.SQL.Clear;
DBM.ADOQuery1.SQL.Text:='select 姓名,职位 from 职工表 where 身份证号='''+code+'''and 密码='''+pass+''''; name:=DBM.adoquery1.FieldByName('姓名').AsString;
position:=DBM.adoquery1.FieldByName('职位').AsString;
if name<>'' then
begin
edit4.Text:='''+name+''';
edit2.Text:= '''+position+''';
end
else
showmessage('身份证号输入错误或密码输入错误,请确认后再次输入'); mainf.MainMenu1.Items[0].Enabled:=false;
mainf.MainMenu1.Items[1].Enabled:=false;
mainf.MainMenu1.Items[2].Enabled:=false; if position='+酒店管理+' then
mainf.MainMenu1.Items[0].Enabled:=true;
if position='+前台接待+' then
mainf.MainMenu1.Items[1].Enabled:=true;
if position='+客房管理+' then
mainf.MainMenu1.Items[2].Enabled:=true; mainf.Visible:=true;
mainf.StatusBar1.Panels[0].Text:=name;end;procedure TloginF.Button2Click(Sender: TObject);
begin
loginf.Close
end;end.
这个事登陆窗口代码 帮忙看看哪里错了 提示
工程hotel.exe检测到错误类EDtabaseError,错误信息:‘ADOQuery1:Field'姓名'not found'.进程中止,使用单步或运行继续运行
数据库是用数据模块连接的 DBM
unit login;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;type
TloginF = class(TForm)
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Button1: TButton;
Button2: TButton;
Label4: TLabel;
Edit4: TEdit;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
loginF: TloginF;implementationuses DM, main;{$R *.dfm}procedure TloginF.Button1Click(Sender: TObject);
var
code,pass,name,position:string;
begin
code:=edit1.Text;
pass:=edit3.Text;
DBM.ADOQuery1.Close;
DBM.ADOQuery1.SQL.Clear;
DBM.ADOQuery1.SQL.Text:='select 姓名,职位 from 职工表 where 身份证号='''+code+'''and 密码='''+pass+''''; name:=DBM.adoquery1.FieldByName('姓名').AsString;
position:=DBM.adoquery1.FieldByName('职位').AsString;
if name<>'' then
begin
edit4.Text:='''+name+''';
edit2.Text:= '''+position+''';
end
else
showmessage('身份证号输入错误或密码输入错误,请确认后再次输入'); mainf.MainMenu1.Items[0].Enabled:=false;
mainf.MainMenu1.Items[1].Enabled:=false;
mainf.MainMenu1.Items[2].Enabled:=false; if position='+酒店管理+' then
mainf.MainMenu1.Items[0].Enabled:=true;
if position='+前台接待+' then
mainf.MainMenu1.Items[1].Enabled:=true;
if position='+客房管理+' then
mainf.MainMenu1.Items[2].Enabled:=true; mainf.Visible:=true;
mainf.StatusBar1.Panels[0].Text:=name;end;procedure TloginF.Button2Click(Sender: TObject);
begin
loginf.Close
end;end.
这个事登陆窗口代码 帮忙看看哪里错了 提示
工程hotel.exe检测到错误类EDtabaseError,错误信息:‘ADOQuery1:Field'姓名'not found'.进程中止,使用单步或运行继续运行
数据库是用数据模块连接的 DBM
DBM.ADOQuery1.Open;//少了这一句,加上试试
DBM.ADOQUERY1.OPEN
IF DBM.ADOQUERY1.ISEMPTY THEN
SHOWMESSAGE('身份证号输入错误或密码输入错误,请确认后再次输入'')
ELSE
begin
name:=DBM.adoquery1.FieldByName('姓名').AsString;
position:=DBM.adoquery1.FieldByName('职位').AsString;
edit4.Text:='''+name+''';
edit2.Text:= '''+position+''';
end;