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

📄 usergl.pas

📁 欢迎大家相互学习。delphi系统 四个文件夹分别对应书中的四个实例
💻 PAS
字号:
unit usergl;

interface

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

type
  Tusergl_Form = class(TForm)
    Query1: TQuery;
    DataSource1: TDataSource;
    DBGrid1: TDBGrid;
    GroupBox1: TGroupBox;
    yhm_LEdit: TLabeledEdit;
    mm_LEdit: TLabeledEdit;
    cmdmodi: TButton;
    cmdadd: TButton;
    cmddel: TButton;
    Label1: TLabel;
    qx_CBox: TComboBox;
    procedure newll;
    procedure FormShow(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormCreate(Sender: TObject);
    procedure DBGrid1CellClick(Column: TColumn);
    procedure cmdmodiClick(Sender: TObject);
    procedure cmdaddClick(Sender: TObject);
    procedure cmddelClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
    add:boolean;
  end;

var
  usergl_Form: Tusergl_Form;

implementation

uses main;

{$R *.dfm}

procedure Tusergl_Form.newll;
begin
    Query1.Close;
    Query1.SQL.Clear;
    Query1.SQL.Add('select * from operater');
    Query1.Open;
    if Query1.RecordCount>0 then
    begin
        cmdmodi.Enabled:=true;
        cmddel.Enabled:=true;
        cmdadd.Enabled:=true;
    end
    else
    begin
        cmdmodi.Enabled:=false;
        cmddel.Enabled:=false;
        cmdadd.Enabled:=true;
    end;
end;
procedure Tusergl_Form.FormShow(Sender: TObject);
begin
    newll;
end;

procedure Tusergl_Form.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
    Action:=caFree;
    mainform.N11.Enabled:=true;
end;

procedure Tusergl_Form.FormCreate(Sender: TObject);
begin
    add:=false;
end;

procedure Tusergl_Form.DBGrid1CellClick(Column: TColumn);
begin
    if Query1.RecordCount>0 then
    begin
        yhm_LEdit.Text:=Query1.fieldbyname('yhm').AsString;
        mm_LEdit.Text:=Query1.fieldbyname('mm').AsString;
        qx_CBox.ItemIndex:=Query1.fieldbyname('qx').AsInteger;
    end;
end;

procedure Tusergl_Form.cmdmodiClick(Sender: TObject);
var
    id,yhm,qx,mm,sqlstr:string;
begin
    yhm:=trim(yhm_LEdit.Text);
    if length(yhm)<1 then
    begin
        ShowMessage('系统用户名不能为空');
        exit;
    end;
    mm:=trim(mm_LEdit.Text);
    if length(mm)<1 then
    begin
        ShowMessage('系统用户的密码不能为空');
        exit;
    end;
    qx:=inttostr(qx_CBox.ItemIndex);
    id:=Query1.fieldbyname('id').AsString;
    sqlstr:='select * from operater where(yhm='''+yhm+''')and(id<>'''+id+''')';
    with TQuery.Create(nil) do
    begin
        try
        Close;
        SQL.Clear;
        SQL.Add(sqlstr);
        Open;
        if RecordCount > 0 then
        begin
            ShowMessage('修改的系统用户名有重复,请重新输入!');
            exit;
        end
        else
        begin
            sqlstr:='update operater set yhm='''+yhm+''',mm='''+mm;
            sqlstr:=sqlstr+''',qx='''+qx+''' where (id='''+id+''')';
            Close;
            SQL.Clear;
            SQL.Add(sqlstr);
            ExecSQL;
        end;
        finally
        Free;
        end;
        ShowMessage('成功修改系统用户!');
        newll;
    end;
end;

procedure Tusergl_Form.cmdaddClick(Sender: TObject);
var
    id,yhm,qx,mm,sqlstr:string;
begin
    if add then
    begin
        yhm:=trim(yhm_LEdit.Text);
        if length(yhm)<1 then
        begin
            ShowMessage('系统用户名不能为空');
            exit;
        end;
        mm:=trim(mm_LEdit.Text);
        if length(mm)<1 then
        begin
            ShowMessage('系统用户的密码不能为空');
            exit;
        end;
        qx:=inttostr(qx_CBox.ItemIndex);
        id:=Query1.fieldbyname('id').AsString;
        sqlstr:='select * from operater where(yhm='''+yhm+''')';
        with TQuery.Create(nil) do
        begin
            try
            Close;
            SQL.Clear;
            SQL.Add(sqlstr);
            Open;
            if RecordCount > 0 then
            begin
                ShowMessage('添加的系统用户名有重复,请重新输入!');
                exit;
            end
            else
            begin
                sqlstr:='insert into operater (yhm,mm,qx) values ('''+yhm+''','''+mm+''','''+qx+''')';
                Close;
                SQL.Clear;
                SQL.Add(sqlstr);
                ExecSQL;
            end;
            finally
            Free;
            end;
            ShowMessage('成功添加系统用户!');
            newll;
            cmdadd.Caption:='添加';
        end;
    end
    else
    begin
        cmdadd.Caption:='保存';
        add:=true;
        yhm_LEdit.Clear;
        mm_LEdit.Clear;
        qx_CBox.ItemIndex:=0;
    end;
end;

procedure Tusergl_Form.cmddelClick(Sender: TObject);
var
    id:string;
begin
    try
    if MessageDlg('确认要删除选中的系统用户吗?',mtConfirmation, [mbYes, mbNo], 0) = mrYes then
    begin
        id:=Query1.fieldbyname('id').AsString;
        with tquery.Create(nil) do
        begin
            try
            Close;
            SQL.Clear;
            SQL.Add('delete from operater where id='''+id+'''');
            ExecSQL;
            finally
            Free;
            end;
        end;
        ShowMessage('成功删除系统用户');
        newll;
    end;
    except
    end;
end;

end.

⌨️ 快捷键说明

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