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

📄 uygjbxx.pas

📁 明日科技的《Delphi数据库开发案例精选》中的资源管理系统源代码。界面美观
💻 PAS
字号:
unit UYGJBXX;

interface

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

type
  TFRM_YGJBXX = class(TForm)
    ToolBar1: TToolBar;
    SpeedButton1: TSpeedButton;
    SpeedButton2: TSpeedButton;
    SpeedButton3: TSpeedButton;
    SpeedButton4: TSpeedButton;
    SpeedButton5: TSpeedButton;
    Panel1: TPanel;
    SpeedButton6: TSpeedButton;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Edit1: TEdit;
    Edit2: TEdit;
    ComboBox1: TComboBox;
    Edit3: TEdit;
    ComboBox2: TComboBox;
    Edit4: TEdit;
    Edit5: TEdit;
    Panel2: TPanel;
    DBGrid1: TDBGrid;
    procedure SpeedButton6Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure SpeedButton1Click(Sender: TObject);
    procedure SpeedButton2Click(Sender: TObject);
    procedure SpeedButton3Click(Sender: TObject);
    procedure SpeedButton4Click(Sender: TObject);
    procedure SpeedButton5Click(Sender: TObject);
    procedure DBGrid1CellClick(Column: TColumn);
    procedure DBGrid1MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure ComboBox1KeyPress(Sender: TObject; var Key: Char);
    procedure ComboBox2DropDown(Sender: TObject);
    procedure ComboBox2KeyPress(Sender: TObject; var Key: Char);
    procedure Edit1KeyPress(Sender: TObject; var Key: Char);
    procedure Edit2KeyPress(Sender: TObject; var Key: Char);
    procedure Edit3KeyPress(Sender: TObject; var Key: Char);
    procedure Edit4KeyPress(Sender: TObject; var Key: Char);
    procedure DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
      DataCol: Integer; Column: TColumn; State: TGridDrawState);
  private
    { Private declarations }
  public
    procedure bh;        //自动编号
    Procedure GetAll;    //获得所有数据
    Procedure Posting;   //提交数据
    Procedure CLS;       //清除控件中内容
    Procedure DIS;       //控件不可用
    Procedure ENA;       //控件可用
    { Public declarations }
  end;

var
  FRM_YGJBXX: TFRM_YGJBXX;

implementation

uses UDM, UMAIN, UBMJBXX;

{$R *.dfm}
procedure TFRM_YGJBXX.bh;
var
i:integer;
s,m:string;
begin
  s:= 'YG';
  With DM.QYGJBXX do
  begin
    Close;
    SQL.Clear;
    SQL.Add('select max(员工编号) as ss From 员工信息表');
    Open;
  end;
  If DM.QYGJBXX.FieldByName('ss').Value=null then
    s := s + '00001'
  else
  begin
    m:= Trim(DM.QYGJBXX.FieldByName('ss').Value) ;
    i:= StrToint(Trim(Copy(m,3,7)))+1 ;
   // s:= s +Formatfloat('000000',StrToFloat(Trim(Copy(m,3,7)))+1);
    s:= s +Formatfloat('000000',i);
  end;
  Edit1.Text := s;
end;
procedure TFRM_YGJBXX.GetAll;
begin
  if DM.DSOYGJBXX.FieldByName('员工编号').AsString<>'' then   Edit1.Text:=DM.DSOYGJBXX.FieldByName('员工编号').AsString;
  if DM.DSOYGJBXX.FieldByName('员工姓名').AsString<>'' then   Edit2.Text:=DM.DSOYGJBXX.FieldByName('员工姓名').AsString;
  if DM.DSOYGJBXX.FieldByName('员工性别').AsString<>'' then   ComboBox1.Text:=DM.DSOYGJBXX.FieldByName('员工性别').AsString;
  if DM.DSOYGJBXX.FieldByName('员工部门').AsString<>'' then   ComboBox2.Text:=DM.DSOYGJBXX.FieldByName('员工部门').AsString;
  if DM.DSOYGJBXX.FieldByName('员工职务').AsString<>'' then   Edit3.Text:=DM.DSOYGJBXX.FieldByName('员工职务').AsString;
  if DM.DSOYGJBXX.FieldByName('联系电话').AsString<>'' then   Edit4.Text:=DM.DSOYGJBXX.FieldByName('联系电话').AsString;
  if DM.DSOYGJBXX.FieldByName('备注').AsString<>'' then   Edit5.Text:=DM.DSOYGJBXX.FieldByName('备注').AsString;
end;
procedure TFRM_YGJBXX.Posting;
begin
  if ActionCD='N' then
  BEGIN
    with DM.QYGJBXX do
    begin
      Close;
      SQL.Clear;
      SQL.Add('INSERT INTO 员工信息表(员工编号,员工姓名,员工性别,员工部门,员工职务,联系电话,备注)');
      SQL.Add('Values(:员工编号,:员工姓名,:员工性别,:员工职务,:员工部门,:联系电话,:备注)');
      Parameters.Items[0].Value:=Edit1.Text;
      Parameters.Items[1].Value:=Edit2.Text;
      Parameters.Items[2].Value:=ComboBox1.Text;
      Parameters.Items[3].Value:=ComboBox2.Text;
      Parameters.Items[4].Value:=Edit3.Text;
      Parameters.Items[5].Value:=Edit4.Text;
      Parameters.Items[6].Value:=Edit5.Text;
      Prepared:=True;
      ExecSQL;
    end;
  END else
  if ActionCD='M' then
  begin
    With DM.QYGJBXX DO
    begin
      Close;
      SQL.Clear;
      SQL.Add('update 员工信息表 Set 员工姓名=:员工姓名1,员工性别=:员工性别1,员工部门=:员工部门1,员工职务=:员工职务1,联系电话=:联系电话1,备注=:备注1 where 员工编号=:员工编号1');
      Parameters.Items[0].Value:=Edit2.Text;
      Parameters.Items[1].Value:=ComboBox1.Text;
      Parameters.Items[2].Value:=ComboBox2.Text;
      Parameters.Items[3].Value:=Edit3.Text;
      Parameters.Items[4].Value:=Edit4.Text;
      Parameters.Items[5].Value:=Edit5.Text;
      Parameters.Items[6].Value:=DM.DSOYGJBXX.FieldByName('员工编号').AsString;
      Prepared:=true;
      ExecSQL;
    end;
  end;               
end;
procedure TFRM_YGJBXX.ENA;
var
  i:integer;
begin
  for i:=ComponentCount-1 downto 0 do
  begin
    if (Components[i] is TEdit) then
    begin
      TEdit(Components[i]).Color:=clWindow;
      TEdit(Components[i]).ReadOnly:=False;
    end;
  end;
  ComboBox1.Color:=clWindow;
  ComboBox2.Color:=clWindow;
  SpeedButton1.Enabled:=False;
  SpeedButton2.Enabled:=False;
  SpeedButton3.Enabled:=True;
  SpeedButton4.Enabled:=False;
  Panel1.Enabled:=True;
end;
procedure TFRM_YGJBXX.DIS;
var
  i:integer;
begin
  for i:=ComponentCount-1 downto 0 do
  begin
    if (Components[i] is Tedit) then
    begin
      TEdit(Components[i]).Color:=$00EFEFEF;
      TEdit(Components[i]).ReadOnly:=true;
    end;
  end;
  ComboBox1.Color:=$00EFEFEF;
  ComboBox2.Color:=$00EFEFEF;
  SpeedButton1.Enabled:=True;
  SpeedButton2.Enabled:=True;
  SpeedButton3.Enabled:=False;
  SpeedButton4.Enabled:=False;
  Panel1.Enabled:=False;
end;
procedure TFRM_YGJBXX.CLS;
var
  i:integer;
begin
  for i:=ComponentCount-1 downto 0 do
  begin
    if(Components[i] is TEdit) then
      TEdit(Components[i]).Clear;
  end;
  ComboBox2.Clear;
end;
/////////////////////////////////////////////////////////
procedure TFRM_YGJBXX.SpeedButton6Click(Sender: TObject);
begin
  ACtionCD:='';
  Close;
end;

procedure TFRM_YGJBXX.FormCreate(Sender: TObject);
begin
  with DM.QYGJBXX do
  begin
    Close;
    SQL.Clear;
    SQL.Add('Select * from 员工信息表');
    Open;
  end;
  DM.DSOYGJBXX.Open;
end;

procedure TFRM_YGJBXX.FormShow(Sender: TObject);
begin
  DIS;
  if ActionCD = 'M' then
    GetAll
  else if ActionCD = 'N' then
  begin
    CLS;
    ENA;
  end;
 // ComboBox2.Text:=DM.QYGJBXX.FieldByName('员工部门').Value;
end;

procedure TFRM_YGJBXX.SpeedButton1Click(Sender: TObject);
begin
   CLS;
   ENA;
  ActionCD := 'N';
  bh;
  Edit2.SetFocus;
end;

procedure TFRM_YGJBXX.SpeedButton2Click(Sender: TObject);
begin
  ENA;
  SpeedButton4.Enabled:=True;
  ACtionCD := 'M';
end;

procedure TFRM_YGJBXX.SpeedButton3Click(Sender: TObject);
begin
  if Edit1.Text='' then
  begin
    Application.MessageBox('员工编号不能为空!','提示!',64);
    Edit1.SetFocus;
    Exit;
  end;
  if Edit2.Text='' then
  begin
    Application.MessageBox('员工姓名不能为空!','提示!',64);
    Edit2.SetFocus;
    Exit;
  end;
  if ComboBox1.Text='' then
  begin
    Application.MessageBox('员工性别不能为空!','提示!',64);
    ComboBox1.SetFocus;
    Exit;
  end;
  if COmboBox2.Text='' then
  begin
    Application.MessageBox('员工部门不能为空!','提示!',64);
    ComboBox2.SetFocus;
    Exit;
  end;
  if Edit3.Text='' then
  begin
    Application.MessageBox('员工职务不能为空!','提示!',64);
    Edit3.SetFocus;
    Exit;
  end;
  if Edit4.Text='' then
  begin
    Application.MessageBox('联系电话不能为空!','提示!',64);
    Edit4.SetFocus;
    Exit;
  end;
  Posting;
  DIS;
  DM.DSOYGJBXX.Close;
  DM.DSOYGJBXX.Open;
  Application.MessageBox('保存成功!','提示!',64);
  actioncd:='';
  self.Close;
end;

procedure TFRM_YGJBXX.SpeedButton4Click(Sender: TObject);
begin
  if DM.DSOYGJBXX.RecordCount=0 then
  begin
    Application.MessageBox('没有记录可以删除!','提示',0+MB_ICONINFORMATION);
    Exit;
  end;
  if DM.DSOYGJBXX.IsEmpty then
    Exit;
  if ID_YES=application.MessageBox('确实要删除这条记录吗?','提示',MB_YESNO) then
  begin
    DM.DSOYGJBXX.Delete;
    self.OnShow(Sender);
  end;
end;

procedure TFRM_YGJBXX.SpeedButton5Click(Sender: TObject);
begin
  DIS;
  SpeedButton4.Enabled:=False;
  FRM_YGJBXX.GetAll;
  ActionCD:='';
end;

procedure TFRM_YGJBXX.DBGrid1CellClick(Column: TColumn);
begin
  GetAll;
end;

procedure TFRM_YGJBXX.DBGrid1MouseDown(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
  GetAll;
end;

procedure TFRM_YGJBXX.ComboBox1KeyPress(Sender: TObject; var Key: Char);
begin
  if not (key in [#8,#13]) then
    key:=#0;
  if key=#13 then
  ComboBox2.SetFocus;
end;

procedure TFRM_YGJBXX.ComboBox2DropDown(Sender: TObject);
var
i:integer;
begin
  ComboBox2.Clear;
  With DM.QBMJBXX do
  begin
    CLose;
    SQL.Clear;
    SQL.Add('Select 部门名称 from 部门信息表');
    Open;
    if (Recordcount>0) then
      First;
    for i:=0 to Recordcount-1 do
    begin
      ComboBox2.Items.Add(FieldByName('部门名称').AsString);
      Next;
    end;
  end;

end;

procedure TFRM_YGJBXX.ComboBox2KeyPress(Sender: TObject; var Key: Char);
begin
  if not (key in [#8,#13]) then
    key:=#0;
  if key=#13 then
    Edit3.SetFocus;
end;

procedure TFRM_YGJBXX.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
  key:=#0;
end;

procedure TFRM_YGJBXX.Edit2KeyPress(Sender: TObject; var Key: Char);
begin
 { if key in ['0'..'9','a'..'z','A'..'Z'] then
    key:=#0;
  if key=#13 then
    ComboBox1.SetFocus;  }
end;

procedure TFRM_YGJBXX.Edit3KeyPress(Sender: TObject; var Key: Char);
begin
  if key in ['0'..'9','a'..'z','A'..'Z'] then
    key:=#0;
  if key=#13 then
    Edit4.SetFocus;
end;

procedure TFRM_YGJBXX.Edit4KeyPress(Sender: TObject; var Key: Char);
begin
  if not (key in['0'..'9','-',#8,#13]) then
    key:=#0;
  if key=#13 then
    Edit5.SetFocus;
end;

procedure TFRM_YGJBXX.DBGrid1DrawColumnCell(Sender: TObject;
  const Rect: TRect; DataCol: Integer; Column: TColumn;
  State: TGridDrawState);
begin
  FRM_MAIN.SetDBGird(Sender as TDBGrid,DM.QYGJBXX ,Rect,DataCol,Column,State);
end;

end.

⌨️ 快捷键说明

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