用第一个窗体,和控件adoconnection做一个登陆窗口,登陆服务器登陆成功用文本显示,不成功显示失败。登陆成功后,出现第2个窗体。

解决方案 »

  1.   

    我都想哭了,search一下以前的帖子吧,就用"登陆"和"登录"分别查一下,数量比超市还多,品种比动物园还全。----的确不想再N+1次回答了
      

  2.   

    我给你贴......
    program Xyglxt;uses
      Forms,
      .......{$R *.res}begin
      Application.Initialize;
      Application.Title := '校园管理系统';
      FlashFrm := TFlashFrm.Create(Nil);
      FlashFrm.Update;
      FlashFrm.Show;
      FlashFrm.Update;
      DataModuleFrm := TDataModuleFrm.Create(Nil);
      FlashFrm.Update;
      if FCreateBase then
      begin
        CreateDataBaseFrm := TCreateDataBaseFrm.Create(Nil);
        CreateDataBaseFrm.ShowModal;
      end;
      if Not DataModuleFrm.LinkDataBase then
        Application.Terminate;
      FlashFrm.Update;
      Try
        LognFrm := TLognFrm.Create(Nil);
        FlashFrm.Free;
        FlashFrm := Nil;
        LognFrm.ShowModal;
      Finally
        LognFrm.Free;
        LognFrm := Nil;
      end;
      if Not Logn then
      begin
        Application.Terminate;
        Exit;
      end;
      Application.CreateForm(TMainFrm, MainFrm);
      Application.CreateForm(TstdcjinfFrm, stdcjinfFrm);
      Application.CreateForm(TCreateDataBaseFrm, CreateDataBaseFrm);
      Application.CreateForm(TDataBaseSelectFrm, DataBaseSelectFrm);
      Application.Run;
    end.
      end;var
      LognFrm: TLognFrm;implementation
    uses
      DataModuleUnt;{$R *.dfm}procedure TLognFrm.QxBitBtnClick(Sender: TObject);
    begin
      Logn := False;
      Close;
    end;procedure TLognFrm.UserList(Sender: TComboBox);
    begin
      with DataModuleFrm.Temp1ADOQuery do
      begin
        if Active then
          Active := False;
        SQL.Clear;
        SQL.Add('Select Distinct userName From LognInf');
        Prepared;
        Open;
        First;
        While Not Eof do
        begin
          Sender.Items.Add(FieldByName('UserName').AsString);
          Next;
        end;
      end;
    end;procedure TLognFrm.FormCreate(Sender: TObject);
    begin
      DataModuleFrm.xyglxtADOConnection.Connected := True;
      UserList(UserComboBox);
    end;procedure TLognFrm.QDBitBtnClick(Sender: TObject);
    begin
      Usertest;
    end;procedure TLognFrm.Usertest;
    begin
      if Trim(UserComboBox.Text) = '' then
      begin
        Application.MessageBox('对不起,用户名没有添写','操作提示',MB_OK + MB_ICONINFORMATION);
        UserComboBox.SetFocus;
        Exit;
      end;
      with DataModuleFrm.LognADOQuery do
      begin
        if Active then
          Active := False;
        SQL.Clear;
        SQL.Add('Select * from LognInf where userName = :MMValue');
        Parameters[0].Value := Trim(UserComboBox.Text);
        Open;
        if RecordCount = 0 then
        begin
          Application.MessageBox('对不起,您的用户名输入有误,请重新输入','操作提示',MB_OK + MB_ICONINFORMATION);
          UserComboBox.SetFocus;
          Exit;
        end else
        begin
          if Trim(FieldByName('userPass').AsString) = Trim(PassEdt.Text) then
          begin
            DataModuleFrm.UserName := Trim(UserComboBox.Text);
            DataModuleFrm.LognTime := DateTimeToStr(Now);
            DataModuleFrm.UserPopedom := Trim(FieldByName('UserPopedom').AsString);
            DataModuleFrm.UserCode := Trim(FieldByName('UserCode').AsString);
            Logn := True;
          end else
          begin
            Application.MessageBox('对不起,您的密码输入有误,请重新登录','操作提示',MB_OK + MB_ICONSTOP);
            PassEdt.Clear;
            PassEdt.SetFocus;
            Exit;
          end;
        end;
      end;
      Close;
    end;end.想女友......
      

  3.   

    你可以
    1 将数据集调到前台通过密码匹配判断
    2 用if exists(select * from table where name = '' and pwd = '')判断
    3用存储过程判断,...
    应该在以前都有