⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 unitlogin.~pas

📁 这是一个很好的超市管理系统
💻 ~PAS
字号:
unit UnitLogin;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Buttons, ExtCtrls,ADODB;
type
  UserInfo = record
    userid: integer;
    username: string;
    password: string;
  end;

type
  TFrmLogin = class(TForm)
    Panel1: TPanel;
    Label1: TLabel;
    Label2: TLabel;
    ComboBox1: TComboBox;
    Edit1: TEdit;
    Bevel1: TBevel;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    procedure BitBtn1Click(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
    procedure FormShow(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  FrmLogin: TFrmLogin;
  time: integer;
  auser: UserInfo;

implementation

uses UnitMain, UnitDM;

{$R *.dfm}


procedure TFrmLogin.BitBtn1Click(Sender: TObject);
var
  str2, pass1, pass2: string;
  time: integer;
  adoquery2: TADOQuery;
begin
  adoquery2 := TADOQuery.Create(self);
  adoquery2.connectionstring := 'Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False; '
  + 'Initial Catalog=XHXS;Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Workstation ID=NANCHANG-ZBKW28;Use Encryption for Data=False;Tag with column collation when possible=False ';
  time := time + 1;
  str2 := 'select user_pass from user where user_name = :name';
  with adoquery2 do
  begin
    close;
    SQL.Clear;
    SQL.Add(str2);
    parameters.ParamByName('name').Value := trim(combobox1.Text);
    if (not prepared) then
      prepared := true;
    try
      open;
    except
      ExecSQL;
    end;
    auser.userid := fieldbyname('user_id').value;
    pass1 := fieldbyname('user_pass').Value;
    pass2 := trim(Edit1.Text);
    if (pass1 <> pass2) and (time <= 4) then
    begin
      if (time = 4) then
      begin
        showmessage('登录失败!');
        application.Terminate;
      end;
      showmessage('密码输入错误,请再输入一次');
      exit;
    end;
    if (pass1 = pass2) then
    begin
      ModalResult := mrOK;
      FrmLogin.close;
    end;
    adoquery2.close;
    adoquery2.Free;
  end;
end;

procedure TFrmLogin.BitBtn2Click(Sender: TObject);
begin
  application.Terminate;
end;

procedure TFrmLogin.FormShow(Sender: TObject);
var
  str1: string;
  adoquery1: TAdoquery;
begin
  time := 0;
    combobox1.Clear;
  adoquery1 := TADOQuery.create(self);
  adoquery1.connectionstring := 'Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=XHXS;Use Procedure for Prepare=1;Auto Translate=True; '
  + 'Packet Size=4096;Workstation ID=NANCHANG-ZBKW28;Use Encryption for Data=False;Tag with column collation when possible=False ';
  str1 := 'select user_name from user';
  with adoquery1 do
  begin
    close;
    SQL.Clear;
    SQL.Add(str1);
    if (not prepared) then
      prepared := true;
    try
      open;
    except
      ExecSQL;
    end;
    while not eof do
    begin
      first;
      Combobox1.Items.Add(fieldbyname('user_name').Value);
      next;
    end;
  end;
  adoquery1.Close;
  adoquery1.Free;
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -