学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

解决方案 »

  1.   

    DBM.ADOQuery1.SQL.Text:='select 姓名,职位 from 职工表 where 身份证号='''+code+'''and 密码='''+pass+''''; 
    DBM.ADOQuery1.Open;//少了这一句,加上试试
      

  2.   

    DBM.ADOQuery1.SQL.Text:='select 姓名,职位 from 职工表 where 身份证号='''+code+'''and 密码='''+pass+''''; 
    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;