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

📄 wl85_p.~pas

📁 delphi+SQLSERVER做的ERP适合初学者模仿之作简单的添加删除链接数据可以用BDE技术链接数据库
💻 ~PAS
字号:
unit wl85_p;

interface

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

type
  Twl85 = class(TForm)
    Panel1: TPanel;
    Label1: TLabel;
    Label5: TLabel;
    BitBtn1: TBitBtn;
    BitBtn3: TBitBtn;
    Panel2: TPanel;
    Label2: TLabel;
    Label3: TLabel;
    ComboBox1: TComboBox;
    Edit1: TEdit;
    BitBtn2: TBitBtn;
    DBGrid1: TDBGrid;
    Query1: TQuery;
    DataSource1: TDataSource;
    Query2: TQuery;
    Edit2: TEdit;
    Label6: TLabel;
    RadioGroup1: TRadioGroup;
    procedure FormActivate(Sender: TObject);
    procedure BitBtn3Click(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure DBGrid1Enter(Sender: TObject);
    procedure DBGrid1Exit(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  wl85: Twl85;

implementation

{$R *.dfm}

procedure Twl85.FormActivate(Sender: TObject);
begin
// 显示部门-人员表
  with query1 do begin
     close;
     sql.clear;
     sql.Add('select * from wl_bm order by bm_mc');
     open;
  end;
// 初始化部门名称
  with query2 do
  begin
    close;
    sql.Clear;
    sql.Add('select DISTINCT bm_mc from wl_bm order by bm_mc');
    open;
    ComboBox1.Items.Clear;
    First;
    while not EOF do
    begin
      ComboBox1.Items.Add(fields[0].asString);
      next;
    end;
    ComboBox1.itemindex := 0;
  end;
end;

procedure Twl85.BitBtn3Click(Sender: TObject);
begin
  Query1.Close;
  Query2.Close;
  close;
end;

// 增加员工
procedure Twl85.BitBtn1Click(Sender: TObject);
var
  DQUser:string;
begin
  with query1 do begin
       close;
       sql.clear;
       sql.Add('select * from wl_bm where bm_xm = :CS0 and bm_mc=:cs1');
       params[0].asstring := edit1.text;
       params[1].asstring := ComboBox1.Text;
       open;
       if recordcount > 0 then begin
          DQUser := fieldbyname('bm_mc').value;
          showMessage(edit1.text+'已经是'+ComboBox1.Text+'的员工,不能再次定义!');
          end
       else begin
          if RadioGroup1.Itemindex =0 then
             DQUser := '男'
          else
             DQUser := '女';
          close;
          sql.clear;
          sql.Add('insert into wl_bm (bm_mc,bm_xm,bm_xb,bm_zw) values(:cs0,:cs1,:cs2,:cs3)');
          params[0].asstring := ComboBox1.text;     // 部门
          params[1].asstring := edit1.text;         // 员工姓名
          params[2].asstring := DQUser;             // 性别
          params[3].asstring := edit2.text;         // 职务
          execsql;         // 执行insert。
     end;
     close;
     sql.clear;
     sql.Add('select * from wl_bm order by bm_mc asc');
     open;
  end;
  // 重新初始化部门名称
  with query2 do
  begin
    close;
    sql.Clear;
    sql.Add('select DISTINCT bm_mc from wl_bm order by bm_mc');
    open;
    ComboBox1.Items.Clear;
    First;
    while not EOF do
    begin
      ComboBox1.Items.Add(fields[0].asString);
      next;
    end;
    ComboBox1.itemindex := 0;
  end;
  edit1.text:='';
  edit2.text:='';
end;

// 焦点进入DBGrid1,令删除按钮启用!
procedure Twl85.DBGrid1Enter(Sender: TObject);
begin
  BitBtn1.Enabled := false;
  BitBtn2.Enabled := True;
end;

// 焦点进入DBGrid1,令删除按钮失效!
procedure Twl85.DBGrid1Exit(Sender: TObject);
begin
  if ActiveControl <> BitBtn2 then begin
     BitBtn2.Enabled := False;
     BitBtn1.Enabled := True;
  end;

end;

// 删除员工
procedure Twl85.BitBtn2Click(Sender: TObject);
var
DQUser:string;
begin
   with query1 do begin
      DQUser := fieldbyname('bm_xm').value;
      if MessageDlg('要被删除的是'+DQUser+',一定要删除这名人员吗?',
         mtConfirmation, [mbYes, mbNo], 0) = mrYes then
         begin
         close;
         sql.clear;
         sql.Add('delete from wl_bm where bm_xm = :cs0');
         params[0].asstring := DQUser;         // 员工姓名
         execsql;
         close;
         sql.clear;
         sql.Add('select * from wl_bm order by bm_mc asc');
         open;
      end;
   end;
   BitBtn1.Enabled := true;
   BitBtn2.Enabled := False;

end;

end.

⌨️ 快捷键说明

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