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

📄 user.pas

📁 软件类别: 数据库 软件大小: 2.60M 运行环境: Win9xNT/2000/XP 一套车辆管理系统,此版本为商业版,大家一定用的着。
💻 PAS
字号:
unit User;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, StdCtrls, Grids, DBGrids, Buttons, ToolWin, ComCtrls;

type
  Tfrm_User = class(TForm)
    Panel1: TPanel;
    DBGrid1: TDBGrid;
    Panel2: TPanel;
    EditUser_ID: TLabeledEdit;
    Edit2: TLabeledEdit;
    EditUser_Name: TLabeledEdit;
    EditUser_Pwd: TLabeledEdit;
    ToolBar1: TToolBar;
    Cmd_Add: TSpeedButton;
    Cmd_Delete: TSpeedButton;
    Cmd_Edit: TSpeedButton;
    Cmd_Save: TSpeedButton;
    Cmd_Rush: TSpeedButton;
    Cmd_Cancel: TSpeedButton;
    EditUser_Type: TComboBox;
    EditID: TEdit;
    GroupBox1: TGroupBox;
    Label1: TLabel;
    procedure Cmd_CancelClick(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormShow(Sender: TObject);
    procedure Cmd_AddClick(Sender: TObject);
    procedure Cmd_RushClick(Sender: TObject);
    procedure Cmd_SaveClick(Sender: TObject);
    procedure DBGrid1CellClick(Column: TColumn);
    procedure Cmd_EditClick(Sender: TObject);
    procedure Cmd_DeleteClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  frm_User: Tfrm_User;
  tempPwd:String;//口令定义   是为了加密码
implementation

uses Data, func;

{$R *.dfm}

procedure Tfrm_User.Cmd_CancelClick(Sender: TObject);
begin
    Close;
end;

procedure Tfrm_User.FormClose(Sender: TObject; var Action: TCloseAction);
begin
    Action:=Cafree;
end;

procedure Tfrm_User.FormShow(Sender: TObject);
begin

    with frm_data.Query_User_Type do
    begin
        EditUser_Type.Clear;
        Close;
        Sql.Clear;
        Sql.Add('SELECT * from [User_Type]');
        try
            Prepared;
            Open;
            while not eof do
            begin
                EditUser_Type.Items.Add(frm_data.Query_User_Type.FieldByName('User_Type').AsString);
                Next;
            end;
        except
            Application.MessageBox('系统在打开数据库时'+#13#10#13+'与远程服务器连接错误!请确认',Pchar(Application.Title),MB_ICONWarning);
            Exit;
        end;
    end;
    //
    Cmd_RushClick(sender);
end;

procedure Tfrm_User.Cmd_AddClick(Sender: TObject);
begin
    Cmd_Delete.Enabled:=False;
    Cmd_Add.Enabled:=False;
    Cmd_Edit.Enabled:=False;
    Cmd_Save.Enabled:=True;
    Cmd_Rush.Caption:='&刷新';
end;

procedure Tfrm_User.Cmd_RushClick(Sender: TObject);
begin
    if Cmd_Rush.Caption='&刷新' then
    begin
        with frm_data.Query_Login do
        begin
            Close;
            Sql.Clear;
            Sql.Add('SELECT * FROM [Login]');
            Prepared;
            Open;
            if frm_data.Query_Login.RecordCount>0 then
            begin
                First;
                EditUser_ID.Text:=frm_data.Query_Login.FieldByName('User_ID').AsString;
                EditUser_Type.Text:=frm_data.Query_Login.FieldByName('User_Type').AsString;
                EditUser_Name.Text:=frm_data.Query_Login.FieldByName('User_Name').AsString;
                EditUser_Pwd.Text:=frm_data.Query_Login.FieldByName('User_Pwd').AsString;
                EditID.Text:=frm_data.Query_Login.FieldByName('ID').AsString;
            end
            else
            begin
                EditUser_ID.Text:='';
                EditUser_Type.Text:='';
                EditUser_Name.Text:='';
                EditUser_Pwd.Text:='';
                EditID.Text:='';
            end;
        end;
    end;
    if Cmd_Rush.Caption='&取消' then
    begin
        Cmd_Delete.Enabled:=True;
        Cmd_Add.Enabled:=True;
        Cmd_Edit.Enabled:=True ;
        Cmd_Save.Enabled:=False;
        Cmd_Rush.Caption:='&刷新';
        with frm_data.Query_Login do
        begin
            Close;
            Sql.Clear;
            Sql.Add('SELECT * FROM [Login]');
            Prepared;
            Open;
            if frm_data.Query_Login.RecordCount>0 then
            begin
                First;
                EditUser_ID.Text:=frm_data.Query_Login.FieldByName('User_ID').AsString;
                EditUser_Type.Text:=frm_data.Query_Login.FieldByName('User_Type').AsString;
                EditUser_Name.Text:=frm_data.Query_Login.FieldByName('User_Name').AsString;
                EditUser_Pwd.Text:=frm_data.Query_Login.FieldByName('User_Pwd').AsString;
                EditID.Text:=frm_data.Query_Login.FieldByName('ID').AsString;
            end
            else
            begin
                EditUser_ID.Text:='';
                EditUser_Type.Text:='';
                EditUser_Name.Text:='';
                EditUser_Pwd.Text:='';
                EditID.Text:='';
            end;
        end;
    end;
end;

procedure Tfrm_User.Cmd_SaveClick(Sender: TObject);

begin
    if Trim(EditUser_ID.Text)=''then
    begin
        Application.MessageBox('操作错误【用户编号】不能为空!请确认!',Pchar(Application.Title),MB_ICONWARNing);
        EditUser_ID.SetFocus;
    end;
    if Trim(EditUser_Type.Text)=''then
    begin
        Application.MessageBox('操作错误【用户类型】不能为空!请确认!',Pchar(Application.Title),MB_ICONWARNing);
        EditUser_Type.SetFocus;
    end;
    if Trim(EditUser_Name.Text)=''then
    begin
        Application.MessageBox('操作错误【用户名称】不能为空!请确认!',Pchar(Application.Title),MB_ICONWARNing);
        EditUser_Name.SetFocus;
    end;
    if Trim(EditUser_Pwd.Text)=''then
    begin
        Application.MessageBox('操作错误【用户口令】不能为空!请确认!',Pchar(Application.Title),MB_ICONWARNing);
        EditUser_Pwd.SetFocus;
    end;
    with frm_data.Query_Login do
    begin
        Close;
        Sql.Clear;
        Sql.Add('SELECT * FROM [Login] where User_ID='''+Trim(EditUser_ID.Text)+''' and User_Type='''+Trim(EditUser_Type.Text)+''' and User_Name='''+Trim(EditUser_Name.Text)+'''');
        Try
            Prepared;
            Open;
            if frm_data.Query_Login.RecordCount>0 then
            begin
                Application.MessageBox('插入数据失败【该操作用户】已经存在!请确认!',Pchar(Application.Title),MB_ICONWARNing);
                EditUser_Name.SetFocus;
            end
            else
            begin
                tempPwd:=Decrypt(trim(EditUser_Pwd.Text),'luersoft');  //加密码
                EditUser_Pwd.Text:=tempPwd;//把加密后的密码赋给 EditUser_Pwd
                with frm_data.Query_Login do
                begin
                    Close;
                    Sql.Clear;
                    Sql.Add('INSERT INTO [Login](User_ID,User_Type,User_Name,User_Pwd) values (:User_ID,:User_Type,:User_Name,:User_Pwd)');
                    frm_data.Query_Login.Parameters[0].Value:=Trim(EditUser_ID.Text);
                    frm_data.Query_Login.Parameters[1].Value:=Trim(EditUser_Type.Text);
                    frm_data.Query_Login.Parameters[2].Value:=Trim(EditUser_Name.Text);
                    frm_data.Query_Login.Parameters[3].Value:=Trim(EditUser_Pwd.Text);
                    Try
                        Prepared;
                        ExecSql;
                        Application.MessageBox('保存数据表【LOGIN】成功!请确认!',Pchar(Application.Title),MB_ICONWARNing);
                        Cmd_RushClick(sender);  //调用数据刷新过程
                    except
                        Application.MessageBox('系统错误!在保存数据表【LOGIN】时与远程服务器连接错误!请确认!',Pchar(Application.Title),MB_ICONWARNing);
                        Exit;
                    End;
                end;
            end;
        except
            Application.MessageBox('系统错误!在打开数据表【LOGIN】时与远程服务器连接错误!请确认!',Pchar(Application.Title),MB_ICONWARNing);
            Exit;
        end;
    end;
end;

procedure Tfrm_User.DBGrid1CellClick(Column: TColumn);
begin
    EditUser_ID.Text:=frm_data.Query_Login.FieldByName('User_ID').AsString;
    EditUser_Type.Text:=frm_data.Query_Login.FieldByName('User_Type').AsString;
    EditUser_Name.Text:=frm_data.Query_Login.FieldByName('User_Name').AsString;
    EditUser_Pwd.Text:=frm_data.Query_Login.FieldByName('User_Pwd').AsString;
    EditID.Text:=frm_data.Query_Login.FieldByName('ID').AsString;
end;

procedure Tfrm_User.Cmd_EditClick(Sender: TObject);
begin
    if Trim(EditID.Text)='' then
    begin
        Application.MessageBox('操作错误!需要修改时【用户编号】不能为空!请确认!',Pchar(Application.Title),MB_ICONWARNing);
        EditUser_ID.SetFocus;
    end;
    if Application.MessageBox('确定需要修改该【操作用户】的信息吗?请确认!',Pchar(Application.Title),MB_OKCancel)=idok then
    begin
        tempPwd:=Decrypt(trim(EditUser_Pwd.Text),'luersoft');  //加密码
        EditUser_Pwd.Text:=tempPwd;
        with frm_data.Query_Login do
        begin
            Close;
            Sql.Clear;
            Sql.Add('UPDATE [Login] SET User_ID=:U1,User_Type=:U2,User_Name=:U3,User_Pwd=:U4 WHERE ID=:U5');
            frm_data.Query_Login.Parameters[0].Value:=Trim(EditUser_ID.Text);
            frm_data.Query_Login.Parameters[1].Value:=Trim(EditUser_Type.Text);
            frm_data.Query_Login.Parameters[2].Value:=Trim(EditUser_Name.Text);
            frm_data.Query_Login.Parameters[3].Value:=Trim(EditUser_Pwd.Text);
            frm_data.Query_Login.Parameters[4].Value:=Trim(EditID.Text);
            Try
                Prepared;
                ExecSql;
                Application.MessageBox('修改数据表【LOGIN】操作成功!请确认!',Pchar(Application.Title),MB_ICONWARNing);
                Cmd_RushClick(Sender);
            Except
                Application.MessageBox('系统错误!在修改数据表【LOGIN】时与远程服务器连接错误!请确认!',Pchar(Application.Title),MB_ICONWARNing);
                Exit;
            End;
        end;
    end;
end;

procedure Tfrm_User.Cmd_DeleteClick(Sender: TObject);
begin
    if Trim(EditID.Text)='' then
    begin
        Application.MessageBox('操作错误!需要修改时【用户编号】不能为空!请确认!',Pchar(Application.Title),MB_ICONWARNing);
        EditUser_ID.SetFocus;
    end;
    if Application.MessageBox('确定需要删除该【操作用户】的信息吗?请确认!',Pchar(Application.Title),MB_OKCancel)=idok then
    begin
        with frm_data.Query_Login do
        begin
            Close;
            Sql.Clear;
            Sql.Add('DELETE [Login] WHERE ID='''+Trim(EditID.Text)+''' ');
            Try
                Prepared;
                ExecSql;
                Application.MessageBox('删除数据表【LOGIN】操作成功!请确认!',Pchar(Application.Title),MB_ICONWARNing);
                Cmd_RushClick(Sender);
            Except
                Application.MessageBox('系统错误!在删除数据表【LOGIN】时与远程服务器连接错误!请确认!',Pchar(Application.Title),MB_ICONWARNing);
                Exit;
            End;
        end;
    end;
end;

end.

⌨️ 快捷键说明

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