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

📄 user.pas

📁 老年人大学的学籍管理,主要是学费收取
💻 PAS
字号:
unit user;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, base, ExtCtrls, SUIForm, Grids, DBGridEh, SUIImagePanel,
  StdCtrls, SUIButton, SUIEdit, DB, ADODB, SUIDBCtrls;

type
  Tfrmuser = class(Tbaseform)
    pnl: TsuiPanel;
    dguser: TDBGridEh;
    edtuser: TsuiEdit;
    edtpass: TsuiEdit;
    btnnew: TsuiButton;
    btndel: TsuiButton;
    Label1: TLabel;
    Label2: TLabel;
    adquser: TADOQuery;
    dsuser: TDataSource;
    cbsystem: TsuiDBCheckBox;
    cbcode: TsuiDBCheckBox;
    cbstu: TsuiDBCheckBox;
    cbstatic: TsuiDBCheckBox;
    cbreport: TsuiDBCheckBox;
    btnedit: TsuiButton;
    btnsave: TsuiButton;
    procedure FormCreate(Sender: TObject);
    procedure btnnewClick(Sender: TObject);
    procedure btndelClick(Sender: TObject);
    procedure btnsaveClick(Sender: TObject);
    procedure btneditClick(Sender: TObject);
  private
    editmodal:string;
    procedure iniform;
    { Private declarations }
  public
    { Public declarations }
  end;

var
  frmuser: Tfrmuser;

implementation

uses pub, umain;

{$R *.dfm}

procedure Tfrmuser.FormCreate(Sender: TObject);
begin
  inherited;
  pub.showrecord(adquser,'*','users','id');
  iniform;
end;

procedure tfrmuser.iniform;
begin
  btnnew.Enabled :=true;
  btndel.Enabled :=true;
  btnedit.Enabled :=true;
  btnsave.Enabled :=false;
end;

procedure Tfrmuser.btnnewClick(Sender: TObject);
begin
  inherited;
  edtuser.Clear;
  edtpass.Clear;
  cbsystem.Checked :=false;
  cbcode.Checked :=false;
  cbstu.Checked :=false;
  cbstatic.Checked :=false;
  cbreport.Checked :=false;
  edtuser.SetFocus;
  editmodal:='new';
  btndel.Enabled :=false;
  btnedit.Enabled :=false;
  btnsave.Enabled :=true;
end;

procedure Tfrmuser.btndelClick(Sender: TObject);
begin
  inherited;
  if dguser.Fields[0].AsString='admin' then
    begin
    application.MessageBox('管理员不可删除!','提示',mb_ok+mb_iconinformation);
    exit;
    end;
  if application.MessageBox('确定删除这条记录?','提示',mb_yesno+mb_iconquestion)=idyes then
    adquser.Delete;
end;

procedure Tfrmuser.btnsaveClick(Sender: TObject);
var vsystem,vcode,vstu,vstatic,vreport:integer;
begin
  inherited;
  if (trim(edtuser.Text)='')or(trim(edtpass.Text)='') then
    begin
    application.MessageBox('用户名密码均不能为空!','提示',mb_ok+mb_iconinformation);
    exit;
    end;
  vsystem:=0;
  vcode:=0;
  vstu:=0;
  vstatic:=0;
  vreport:=0;
  if cbsystem.Checked then
    vsystem:=1;
  if cbcode.Checked then
    vcode:=1;
  if cbstu.Checked then
    vstu:=1;
  if cbstatic.Checked then
    vstatic:=1;
  if cbreport.Checked then
    vreport:=1;
  frmmain.adc.BeginTrans;
  if editmodal='new' then
    begin
    try
      with adquser do
        begin
        sql.Clear;
        sql.Add('insert into users (username,userpassword,system,code,stu,static,report) values (:v1,:v2,:v3,:v4,:v5,:v6,:v7)');
        parameters.ParamByName('v1').Value :=trim(edtuser.Text);
        parameters.ParamByName('v2').Value :=trim(edtpass.Text);
        parameters.ParamByName('v3').Value :=vsystem;
        parameters.ParamByName('v4').Value :=vcode;
        parameters.ParamByName('v5').Value :=vstu;
        parameters.ParamByName('v6').Value :=vstatic;
        parameters.ParamByName('v7').Value :=vreport;
        execsql;
        end;
      frmmain.adc.CommitTrans;
      application.MessageBox('记录保存成功!','提示',mb_ok+mb_iconinformation);
      pub.showrecord(adquser,'*','users','id');
      iniform;
    except
      frmmain.adc.RollbackTrans;
      raise;
      application.MessageBox('记录保存失败!','警告',mb_ok+mb_iconwarning);
      pub.showrecord(adquser,'*','users','id');
    end;
    end;
  if editmodal='edit' then
    begin
    try
      with adquser do
        begin
        sql.Clear;
        sql.Add('update users set userpassword=:v1,system=:v2,code=:v3,stu=:v4,static=:v5,report=:v6 where id=:v7');
        parameters.ParamByName('v1').Value :=trim(edtpass.Text);
        parameters.ParamByName('v2').Value :=vsystem;
        parameters.ParamByName('v3').Value :=vcode;
        parameters.ParamByName('v4').Value :=vstu;
        parameters.ParamByName('v5').Value :=vstatic;
        parameters.ParamByName('v6').Value :=vreport;
        parameters.ParamByName('v7').Value :=adquser.fieldbyname('id').AsInteger;
        execsql;
        end;
      frmmain.adc.CommitTrans;
      application.MessageBox('修改成功!','提示',mb_ok+mb_iconinformation);
      pub.showrecord(adquser,'*','users','id');
      iniform;
    except
      frmmain.adc.RollbackTrans;
      raise;
      application.MessageBox('修改失败!','警告',mb_ok+mb_iconwarning);
    end;
    end;
end;

procedure Tfrmuser.btneditClick(Sender: TObject);
begin
  inherited;
  btnnew.Enabled :=false;
  btndel.Enabled :=false;
  btnsave.Enabled :=true;
  edtuser.ReadOnly :=true;
  editmodal:='edit';
  edtuser.Text :=dguser.Fields[0].AsString;
  edtpass.Text :=dguser.Fields[1].AsString;
end;

end.

⌨️ 快捷键说明

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