unit login;interfaceuses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls;type
  TLoginForm = class(TForm)
    Button1: TButton;
    Button2: TButton;
    Panel1: TPanel;
    Label1: TLabel;
    Label2: TLabel;
    Name_Edit: TEdit;
    Password_Edit: TEdit;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;var
  LoginForm: TLoginForm;implementationuses Main ,DBTables ;
{$R *.dfm}procedure TLoginForm.Button1Click(Sender: TObject);
var
  aname,apassword,sqlstr:string;
  a,b:integer;
begin
//有输入时,从数据库中检验用户信息
  if(Length(Trim(Name_Edit.Text))>0)or(Length(Trim(Password_Edit.Text))>0)then
  begin
    aname:=Trim(Name_Edit.Text);
    apassword:=Trim(Password_Edit.Text);
   sqlstr:='select * from t_user a,t_qxb b where (a.username='''+aname+''') and(a.userpass='''+apassword+''')and(a.username=b.username) order by b.cdbh';    with TQuery.Create(nil)do
    try
      Close;
      SessionName:=MaimFrom.Datebase1.SessionName;
      DatebaseName:=MaimForm.Datebase1.DatebaseName;
      SQL.Clear;
      SQL.Add(sqlstr);
      Open;
      if RecordCount>0 then
      //验证通过,根据权限设置菜单项的可访问性
      begin
       First;
       while not Eof do
       begin
        a;=StrToInt(Copy(FieldByName('cdx').AsString,1,1));
        b;=StrToInt(Copy(FieldByName('cdx').AsString,2,2));
        MainForm.MainMenu1.Items.Items[a].Visible:=Ture;
        MainForm.MainMenu1.Items.Items[a].Items[b]Visible:=Ture;
        Next;
       end;
       //验证不通过,提示错误信息
       begin
        ShowMessage('请确认登陆的用户名和密码是否正确!');
        Name_Edit.SetFocus;
        Name_Edit.SelectAll;
       end;
      finally
       Free;
      end;
     end
     else
     //无输入,提示错误信息
     begin
      ShowMessage('请输入登录用户名和密码!');
      Name_Edit.SelectAll;end;end.---
Undeclared identifier :'Maim'开始出错
开始不是uses他了吗???、
拜托哪位高手帮忙 辛苦了
着急~明天交- - 好吧 我很欠……

解决方案 »

  1.   

    是哪里的main?虽然你引用了,但如果没有加入project也不在project的path下,也是不行的。
    没细看代码。
      

  2.   

    'Maim' 是不是写错了, 'Main' 吧
      

  3.   

    好好检查你的代码, 两处 MaimFrom MainForm
      

  4.   

    ain是MainFrom主界面 >< 我保存成Main了
    找对这个错误了 一激动写错了- - 跟没找到一样
    谢谢两位大大提醒 我对这个根本不会 第一次接触- - 代码都是找书上凑得
    错误的地方比较低级 真是辛苦了T T~
    现在的问题变成
    Undeclared identifier :Datebase1了
    Datebase1我是main主界面里面的
     
    如果可以的话能不能拜托加Q教我下 很简单的程序 如果您时间范围容许的话~
      

  5.   

    上面代码我已经修改好了 可是又粗线= = 郁闷   // 实现借书功能procedure Tjygl_Form.N2Click(Sender: TObject);
    beginend;
    //实现续借功能
    procedure Tjygl_Form.N3Click(Sender: TObject);
     var id,sqlstr,jsrq:string;
    begin
        id:=Query1.FieldByName('id').AsString;
        jsrq:=
        sqlstr:= 'update t_jyb set jsrq='''+jsrq+''' where id='''+id+'''';
        if MessageDlg('确认要续借该书吗',mtConfirmation,[mbYes,mbNo],0)=mrYes then
        begin
         with TQuery.Create(nil)do
         begin
          try
           Close;
            SessionName:=MainForm.Database1.SessionName;
            DatabaseName:=MainForm.Database1.DatabaseName;
            SQL.Clear;
            SQL.Add(sqlstr);
            ExecSQL;
           finally
            Free;
          end;
         end;
              cmdOK.Click;  end;
      end;
    //删除借阅信息procedure Tjygl_Form.N4Click(Sender: TObject);
     var id,sqlstr,jsrq:string;
     begin
        id:=Query1.FieldByName('id').AsString;
        //jsrq:=MainForm.getnettime;
        sqlstr:='update t_jyb set jsrq='''+jsrq+'''where(id='''+id+''')';
        if MessageDlg('确认删除选中记录吗',mtConfirmation,[mbYes,mbNo],0)=mrYes then
        begin
         with TQuery.Create(nil)do
         begin
          try
           Close;
            SessionName:=MainForm.Database1.SessionName;
            DatabaseName:=MainForm.Database1.DatabaseName;
            SQL.Clear;
            SQL.Add('delete from t_csb where id='''+id+'''');
            ExecSQL;
           finally
            Free;
          end;
         end;
         cmdOK.Click;
         end;
    end;
    end.错误left side cannot be assigned to
    statment expected,but expression of type'string found'