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

📄 frm_manage.pas

📁 用于家庭养殖的财务进出
💻 PAS
📖 第 1 页 / 共 2 页
字号:
unit frm_manage;

interface

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

type
  Tfrm_gl = class(TForm)
    PageControl1: TPageControl;
    TabSheet1: TTabSheet;
    GroupBox3: TGroupBox;
    DBGrid1: TDBGrid;
    GroupBox1: TGroupBox;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label1: TLabel;
    EUserId: TEdit;
    EUserPwd: TEdit;
    epwd: TEdit;
    Ename: TEdit;
    Ecompany: TEdit;
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    Button4: TButton;
    CBLevel: TComboBox;
    TabSheet2: TTabSheet;
    Label7: TLabel;
    GroupBox4: TGroupBox;
    Label8: TLabel;
    EdtUserGroup: TEdit;
    Panel1: TPanel;
    GroupBox5: TGroupBox;
    DBGrid2: TDBGrid;
    Button5: TButton;
    Button6: TButton;
    Button7: TButton;
    Button8: TButton;
    Label9: TLabel;
    Edtgroupcode: TEdit;
    RadioGroup1: TRadioGroup;
    DataSource1: TDataSource;
    procedure FormCreate(Sender: TObject);//初始化界面组件信息
    procedure Button1Click(Sender: TObject);//进入新增信息界面
    procedure Button2Click(Sender: TObject); //保存修改或新增信息
    procedure Button4Click(Sender: TObject); //删除选定用户
    procedure DBGrid1CellClick(Column: TColumn);//界面显示选定的dbgrid详细信息
    procedure Button3Click(Sender: TObject); //修改用户信息
    procedure FormActivate(Sender: TObject);//页面激活时,调用界面初始化过程
    procedure RadioButton1Click(Sender: TObject); //用户权限设定查询
    procedure RadioButton2Click(Sender: TObject);  //用户权限设定普通
    procedure RadioButton3Click(Sender: TObject);
    procedure Button5Click(Sender: TObject);
    procedure Button7Click(Sender: TObject);
    procedure TabSheet2Show(Sender: TObject);
    procedure Button6Click(Sender: TObject);
    procedure Button8Click(Sender: TObject);
    procedure DBGrid2CellClick(Column: TColumn);
    procedure TabSheet1Show(Sender: TObject);  //用户权限设定高级
    procedure usergroupshow;
  private
    { Private declarations }
    addusergroup,modifyusergroup:boolean;
    usergroupid:integer;
    usergroupname:string;
  public
    procedure addrecord; //新增用户存入数据库
    procedure delrecord; //删除数据库中用户的记录
    procedure modrecord; //修改数据库中用户信息
    procedure clearcomp; //清除容器控件上显示的值
    { Public declarations }
  end;

var
  frm_gl: Tfrm_gl;

implementation
uses data_module,unit3; // dmserver,varfununit;
  var
    add,modify:boolean;
    id:integer;
    userlevelname:string;
{$R *.dfm}

procedure Tfrm_gl.FormCreate(Sender: TObject);
var
  i:integer;
begin
  modifyusergroup:=false;
  addusergroup:=false;
  add:=false;
  modify:=false;
  radiogroup1.Enabled:=false;
  for i:=0 to dbgrid1.Columns.Count-1 do
    dbgrid1.Columns.Delete(0);
  with dm.ADOQuery8 do
  begin
    close;
    sql.Clear;
    sql.Add('select * from admin');
    open;
    dbgrid1.Columns.Add;
    dbgrid1.Columns[0].Field:=fieldbyname('username');
    dbgrid1.Columns[0].Title.Caption:='用户名';
    dbgrid1.Columns[0].Width:=50;
    dbgrid1.Columns.Add;
    dbgrid1.Columns[1].Field:=fieldbyname('name');
    dbgrid1.Columns[1].Title.Caption:='真实名';
    dbgrid1.Columns[1].Width:=50;
    dbgrid1.Columns.Add;
    dbgrid1.Columns[2].Field:=fieldbyname('company');
    dbgrid1.Columns[2].Title.Caption:='单位';
    dbgrid1.Columns[2].Width:=100;
    dbgrid1.Columns.Add;
    dbgrid1.Columns[3].Field:=fieldbyname('user_group_id');
    dbgrid1.Columns[3].Title.Caption:='用户所属组';
    dbgrid1.Columns[3].Width:=50;
  end;
end;

procedure Tfrm_gl.Button1Click(Sender: TObject);
var
  user,name,company,userpwd:string;
  i:integer;
begin
  if Application.Messagebox('确定要新增一条信息!','注意!',MB_OKCANCEL+ mb_iconexclamation)=IDOK then
  begin
    clearcomp;
    EUserId.ReadOnly:=false;
    EUserPwd.ReadOnly:=false;
    epwd.ReadOnly:=false;
    Ename.ReadOnly:=false;
    Ecompany.ReadOnly:=false;
    add:=true;
    modify:=false;
    euserid.SetFocus;
  end;
end;
//////////////////增加用户///////////////////////////////////////
procedure tfrm_gl.addrecord;
var
  sqlstr:string;
begin
//////////////////判断用户是否存在/////////////////////////////////////////////
  with dm.ADOQuery8 do
  begin
    close;
    sql.Clear;
    sql.Add('select * from admin where username:='''+trim(EUserId.Text)+'''');
    open;
    first;
    while not eof do
    begin
      application.MessageBox('该用户名已经存在!','信息提示',mb_ok);
      exit;
    end;
  end;
////////////////////////////////////////////////////////////////////////////////
  sqlstr:='insert into admin (username,name,userpwd,company,user_group_id) '+
          ' values(:username,:name,:userpwd,:company,:user_group_id)';
  with dm.ADOQuery8 do
  begin
    close;
    sql.Clear;
    sql.Add(sqlstr);
    parameters[0].Value:=EUserId.Text;
    parameters[1].value:=ename.Text;
   //parameters[2].value:=trim(EUserPwd.Text);
    parameters[2].value:=addCode(trim(EUserPwd.Text));
    parameters[3].value:=ecompany.Text;
    parameters[4].Value:=inttostr(CBLevel.ItemIndex+1);
    try
      execsql;
    except
    begin
      showmessage('记录添加失败!');
      exit;
    end;
    end;
  end;
  dm.ADOQuery8.Close;
  with dm.ADOQuery8 do
  begin
    close;
    sql.Clear;
    sql.Add('select * from admin');
    open;
  end;
  //dm.ADOQuery8.Open;
end;

procedure tfrm_gl.delrecord;
var
  sqlstr:string;
  i:integer;
begin
  sqlstr:='delete from admin where id='+inttostr(id);
  with dm.ADOQuery1 do
  begin
    close;
    sql.Clear;
    sql.Add(sqlstr);
    try
      execsql;
    except
    begin
      showmessage('删除记录失败!');
      exit;
    end;
    end;
  end;
  dm.ADOQuery8.Close;
  dm.ADOQuery8.Open;
  clearcomp;
  {for i:=0 to self.ComponentCount-1 do     //控件清空
  begin
    if Self.Components[i] is Tcombobox then
      Tcombobox(Self.Components[i]).Text:='';
    if Self.Components[i] is Tedit then
      Tedit(Self.Components[i]).Text:='';
  end; }
end;

procedure Tfrm_gl.Button2Click(Sender: TObject);   //保存
begin
  if euserid.Text='' then
  begin
    application.MessageBox('用户名不能为空,请输入!','注意',mb_ok);
    euserid.SetFocus;
    exit;
  end;
  if undocode(euserpwd.Text)<>undocode(epwd.Text) then
  begin
    application.MessageBox('两次输入的密码不一致,请重新输入!','注意',mb_ok);
    euserpwd.SetFocus;
    exit;
  end;
  if add then
    addrecord;
  if modify then
    modrecord;
///////////////////////////////////////////////
  EUserId.ReadOnly:=true;
  EUserPwd.ReadOnly:=true;
  epwd.ReadOnly:=true;
  Ename.ReadOnly:=true;
  Ecompany.ReadOnly:=true;
////////////////////////////////////////////////
end;

procedure tfrm_gl.modrecord;
var
  sqlstr:string;
begin

  sqlstr:='update admin set username=:user,name=:name,userpwd=:userpwd,company=:company,user_group_id=:user_group_id where id=:id';
  with dm.ADOQuery1 do
  begin
    close;
    sql.Clear;
    sql.Add(sqlstr);
    parameters[0].Value:=EUserId.Text;
    parameters[1].value:=ename.Text;
   // parameters[2].value:= trim(EUserPwd.Text);
    parameters[2].value:= addCode(trim(EUserPwd.Text));
    parameters[3].value:=ecompany.Text;
    parameters[4].Value:=','+inttostr(CBLevel.ItemIndex)+','; //权限组20060426
    parameters[5].Value:=id;
    try
      execsql;
    except
    begin
      showmessage('修改记录失败!');
      exit;
    end;
    end;
  end;
  dm.ADOQuery8.Close;
  dm.ADOQuery8.Open;
end;

⌨️ 快捷键说明

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