本系统开发的工具为:前台有Delphi,后台数据库SQL SERVER 2000数据库。

 

1.//登陆窗口(f_login;);代码。                                                                       
unit w_login;
 
  
      
  
interface
 
  
      
  
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Buttons;
 
  
      
  
type
  Tf_login = class(TForm)
    StaticText1: TStaticText;
    gb_1: TGroupBox;
    Label1: TLabel;
    Label2: TLabel;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    ComboBox1: TComboBox;
    Edit1: TEdit;
    procedure BitBtn2Click(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure ComboBox1KeyPress(Sender: TObject; var Key: Char);
    procedure ComboBox1Select(Sender: TObject);
    procedure Edit1KeyPress(Sender: TObject; var Key: Char);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
  
      
  
var
  f_login: Tf_login;
  s_name:string;
  s_mima:string;
  s_gb:string;
  il:integer;
implementation
 
  
      
  
uses w_main, data1;
 
  
      
  
{$R *.dfm}
 
  
      
  
procedure Tf_login.BitBtn2Click(Sender: TObject);
begin
close;
end;
 
  
      
  
procedure Tf_login.BitBtn1Click(Sender: TObject);
begin
if combobox1.text='' then
   begin
     showmessage('请输入用户名!');
     combobox1.SetFocus ;
     exit;
   end ;
 
  
      
  
if edit1.text='' then
   begin
     showmessage('请输入密码!');
     edit1.SetFocus ;
     exit;
    end
else
  begin
    data_1.ado_tab.Close;
    data_1.ado_tab.SQL.Clear;
    data_1.ado_tab.SQL.Add('select* from username where name='+char(39)+trim(combobox1.Text )+char(39)
    +'and password='+char(39)+trim(edit1.text)+char(39));
    data_1.ado_tab.Open;
    if data_1.ado_tab.RecordCount>0 then
       begin
       s_name:=trim(data_1.ado_tab.fieldbyname('name').AsString );
       s_mima:=trim(data_1.ado_tab.fieldbyname('password').AsString );
       s_gb:='yes';
      f_main.show;
      f_login.Hide ;
      end
else
    begin
        il:=il+1;
        if il>=3 then begin
        application.MessageBox('你输入的密码有三次错误,返回系统!!',char(48));
        f_login.Close;
        end;
        application.MessageBox('你输入的密码有误,请重新输入!!',char(48));
        edit1.Text:='';
        edit1.SetFocus ;
    end;
 end;
end;
procedure Tf_login.FormShow(Sender: TObject);
var
i:integer;
begin
 combobox1.Text:='';
 edit1.Text:='';
 combobox1.Clear;
 data_1.ado_tab.close;
 data_1.ado_tab.SQL.Clear;
 data_1.ado_tab.SQL.Add('select distinct name from username');
 data_1.ado_tab.Open;
  if data_1.ado_tab.RecordCount-1 >0 then
       combobox1.Clear;
       data_1.ado_tab.First;
   for i:=0 to data_1.ado_tab.RecordCount-1 do
       begin
        combobox1.Items.add(trim(data_1.ado_tab.fieldbyname('name').AsString ));
        data_1.ado_tab.Next;
      end;
  end;
procedure Tf_login.FormCreate(Sender: TObject);
begin
il:=0;
end;
 
  
      
  
procedure Tf_login.ComboBox1KeyPress(Sender: TObject; var Key: Char);
begin
 if key=char(13) then
      if combobox1.Text<>'' then
          begin
             edit1.SetFocus ;
         end
      else
          begin
           showmessage('请选择用户名');
            combobox1.SetFocus ;
          end;
   end;
procedure Tf_login.ComboBox1Select(Sender: TObject);
begin
 
  
      
  
      if combobox1.Text<>'' then
          begin
             edit1.SetFocus ;
         end
      else
          begin
           showmessage('请选择用户名');
            combobox1.SetFocus ;
          end;
end;
 
  
      
  
procedure Tf_login.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
 if ord(key)=13 then
 BitBtn1Click(sender);
end;
end.
2//用户管理(f_yhgl)
unit w_yhgl;
 
  
      
  
interface
 
  
      
  
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ComCtrls, StdCtrls, Buttons, DB, ADODB, Grids, DBGrids;
 
  
      
  
type
  Tf_yhgl = class(TForm)
    DBGrid1: TDBGrid;
    ADOQuery1: TADOQuery;
    DataSource1: TDataSource;
    gb_1: TGroupBox;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    e_bh: TEdit;
    c_xb: TComboBox;
    e_password: TEdit;
    e_user: TEdit;
    gb_2: TGroupBox;
    b_xz: TBitBtn;
    b_xg: TBitBtn;
    b_gb: TBitBtn;
    b_qx: TBitBtn;
    b_bc: TBitBtn;
    b_sc: TBitBtn;
    stb: TStatusBar;
    ADOQuery1bh: TStringField;
    ADOQuery1name: TStringField;
    ADOQuery1password: TStringField;
    ADOQuery1xb: TStringField;
    procedure s_show;
    procedure s_sava;
    procedure s_clear(bb:boolean);
    procedure FormShow(Sender: TObject);
    procedure DBGrid1CellClick(Column: TColumn);
    procedure b_xzClick(Sender: TObject);
    procedure b_gbClick(Sender: TObject);
    procedure b_qxClick(Sender: TObject);
    procedure b_scClick(Sender: TObject);
    procedure b_bcClick(Sender: TObject);
    procedure b_xgClick(Sender: TObject);
    procedure e_bhKeyPress(Sender: TObject; var Key: Char);
    procedure e_userKeyPress(Sender: TObject; var Key: Char);
    procedure e_passwordKeyPress(Sender: TObject; var Key: Char);
    procedure c_xbKeyPress(Sender: TObject; var Key: Char);
    procedure c_xbSelect(Sender: TObject);
    procedure DataSource1DataChange(Sender: TObject; Field: TField);
    procedure DataSource1StateChange(Sender: TObject);
  private
    { Private declarations }
    
  public
    { Public declarations }
  end;
 
  
      
  
var
  f_yhgl: Tf_yhgl;
   bsf:string;
implementation
 
  
      
  
{$R *.dfm}
procedure Tf_yhgl.s_clear(bb:boolean);
var
i:integer;
begin
  b_xz.Enabled:=true;
  b_xg.Enabled:=true;
  b_sc.Enabled:=true;
  b_bc.Enabled:=false;
  b_qx.Enabled:=false;
  b_gb.Enabled:=true;
  e_bh.Text:='';
  e_user.Text:='';
  e_password.text:='';
  c_xb.Text:='';
for i:=0 to gb_1.ControlCount-1 do  begin
    if (gb_1.Controls[i].ClassType=tedit) or (gb_1.Controls[i].ClassType=tcombobox) then
      begin
         if bb=false then
               gb_1.Controls[i].Enabled :=false
         else
               gb_1.Controls[i].Enabled:=true;
        end;
   end;
end;
procedure Tf_yhgl.s_sava;
 begin
  adoquery1.edit;
  adoquery1.fieldbyname('bh').AsString :=trim(e_bh.Text);
  adoquery1.fieldbyname('name').asstring:=trim(e_user.Text);
  adoquery1.fieldbyname('password').asstring:=trim(e_password.Text);
  adoquery1.fieldbyname('xb').asstring:=trim(c_xb.Text);
  adoquery1.post;
end;
procedure Tf_yhgl.s_show;
begin
  adoquery1.Close;
  adoquery1.SQL.Clear;
  adoquery1.SQL.Add('select * from username');
  adoquery1.Open;
end;
procedure Tf_yhgl.FormShow(Sender: TObject);
var
ss:boolean;
begin
s_show;
ss:=false;
s_clear(ss);
end;
procedure Tf_yhgl.DBGrid1CellClick(Column: TColumn);
var
vv:boolean;
begin
if adoquery1.RecordCount -1>0 then
  begin
  vv:=false;
   s_clear(vv);
   e_bh.Text :=trim(adoquery1.fieldbyname('bh').AsString);
   e_user.Text:=trim(adoquery1.fieldbyname('name').AsString);
   e_password.Text:=trim(adoquery1.fieldbyname('password').AsString);
   c_xb.Text :=trim(adoquery1.fieldbyname('xb').AsString);
  end;
end;
procedure Tf_yhgl.b_xzClick(Sender: TObject);
var
bb:boolean;
begin
    bsf:='xz' ;
    bb:=true;
    s_clear(bb);
    e_bh.SetFocus ;
    b_xz.Enabled:=false;
    b_xg.Enabled :=false;
    b_bc.Enabled :=true;
    b_sc.Enabled :=false;
    b_qx.Enabled :=true;
    b_gb.Enabled :=true;
 
  
      
  
end;
procedure Tf_yhgl.b_gbClick(Sender: TObject);
begin
close;
end;
procedure Tf_yhgl.b_qxClick(Sender: TObject);
var
ss:boolean;
begin
ss:=false;
s_clear(ss);
end;
procedure Tf_yhgl.b_scClick(Sender: TObject);
var
bb:boolean;
begin
 if e_bh.Text<>'' then
     begin
       if MessageDlg('输入的数据是否真正的删除吗?',mtConfirmation, [mbYes, mbNo], 0) = mrYes then
            begin
             adoquery1.Delete;
             s_show;
             bb:=false;
             s_clear(bb);
        end
     else
      exit
    end
 else
   application.MessageBox('请双击删除数据',char(48));
end;
procedure Tf_yhgl.b_bcClick(Sender: TObject);
var
bb:boolean;
begin
if trim(e_bh.Text)='' then
      begin
        showmessage('请输入员工编号');
        exit;
        e_bh.SetFocus ;
      end;
if bsf<>'xg' then
   begin
     adoquery1.Close;
     adoquery1.SQL.clear;
     adoquery1.SQL.add('select * from username where bh='+char(39)+trim(e_bh.Text)+char(39));
     adoquery1.Open;
    end;
if adoquery1.RecordCount< 0 then
   begin
    application.MessageBox('请输入数据',char(48));
    exit;
    s_show;
  end;
 
  
      
  
if trim(e_user.Text)='' then
     begin
      application.MessageBox('请输入员工姓名',char(48));
      exit;
      s_show;
      e_user.SetFocus ;
     end;
if trim(e_password.Text)='' then
    begin
     application.MessageBox('请输入员工密码',char(48));
     exit;
     s_show;
     e_password.SetFocus;
     end;
if trim(c_xb.Text)='' then
    begin
    application.MessageBox('请选择性别',char(48));
    exit;
    s_show;
   end;
if MessageDlg('输入的数据是否保存记录?',mtConfirmation, [mbYes, mbNo], 0) = mrYes then
    begin
    s_sava;
    s_show;
    bb:=false;
    s_clear(bb);
    end
else
    s_show;
    exit;
end;
procedure Tf_yhgl.b_xgClick(Sender: TObject);
var
i:integer;
begin
if trim(e_bh.Text)<>'' then
    begin
      bsf:='xg';
      for i:=0 to gb_1.ControlCount-1 do  begin
    if (gb_1.Controls[i].ClassType =tedit) or(gb_1.Controls[i].ClassType =tcombobox)  then
         begin
            gb_1.Controls[i].Enabled :=true;
            b_xz.Enabled:=false;
            b_xg.Enabled:=false;
            b_bc.Enabled :=true;
            b_sc.Enabled:=false;
            b_qx.Enabled :=true;
            b_gb.Enabled :=true;
          end ;
      end;
     end
 else
    application.MessageBox('请选择修改的数据',char(39));
end;
procedure Tf_yhgl.e_bhKeyPress(Sender: TObject; var Key: Char);
begin
if key=char(13) then
    if trim(e_bh.Text)<>'' then
      begin
        e_user.SetFocus;
      end
   else begin
     application.MessageBox('请输入员工编号',char(48));
     e_bh.SetFocus;
     end;
end;
procedure Tf_yhgl.e_userKeyPress(Sender: TObject; var Key: Char);
begin
 if key=char(13) then
    if trim(e_user.Text)<>'' then
      begin
        e_password.SetFocus;
      end
   else begin
     application.MessageBox('请输入用户名',char(48));
     e_user.SetFocus;
     end;
end;
procedure Tf_yhgl.e_passwordKeyPress(Sender: TObject; var Key: Char);
begin
 if key=char(13) then
    if trim(e_password.Text)<>'' then
      begin
       c_xb.SetFocus;
      end
 else begin
     application.MessageBox('请输入员工密码',char(48));
     e_password.SetFocus ;
     end;
end;
procedure Tf_yhgl.c_xbKeyPress(Sender: TObject; var Key: Char);
begin
 if key=char(13) then
    if trim(c_xb.Text)<>'' then
      begin
       b_bc.SetFocus;
      end
 else  begin
     application.MessageBox('请选择员工性别',char(48));
     c_xb.SetFocus ;
   end;
end;
procedure Tf_yhgl.c_xbSelect(Sender: TObject);
begin
 if trim(c_xb.Text)<>'' then
      begin
       b_bc.SetFocus;
      end
 else  begin
     application.MessageBox('请选择员工性别',char(48));
     c_xb.SetFocus ;
   end;
end;
procedure Tf_yhgl.DataSource1DataChange(Sender: TObject; Field: TField);
begin
stb.Panels[2].Text:='  当前记录第'+inttostr(adoquery1.RecNo)+'条记录';
stb.Panels[1].Text:='  记录共有'+inttostr(adoquery1.RecordCount)+'条记录'
end;
procedure Tf_yhgl.DataSource1StateChange(Sender: TObject);
begin
case DataSource1.State of
  dsBrowse :stb.Panels.Items[0].Text:='  [浏览模式]';
  dsEdit:stb.Panels.Items[0].Text:=' [编辑模式]';
  dsInsert:stb.Panels.Items[0].Text:=' [插入模式]';
  else stb.Panels.Items[0].Text:=' [其他模式]';
 end;
end;
end.
3 .//修改密码(f_xgmm)程序代码;
unit w_xgmm;
 
  
      
  
interface
 
  
      
  
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, DB, ADODB;
 
  
      
  
type
  Tf_xgmm = class(TForm)
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Edit1: TEdit;
    edit2: TEdit;
    Edit3: TEdit;
    Button1: TButton;
    Button2: TButton;
    ADOQuery1: TADOQuery;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
  
      
  
var
  f_xgmm: Tf_xgmm;
 
  
      
  
implementation
 
  
      
  
uses data1, w_login;
 
  
      
  
{$R *.dfm}
 
  
      
  
procedure Tf_xgmm.Button1Click(Sender: TObject);
begin
 if trim(edit1.Text)<>trim(s_mima) then
      begin
       showmessage('你输入的旧密码不正确,请重新输入!!');
      end
else
  begin
    if trim(edit2.Text)<>trim(edit3.text) then
     begin
       showmessage('你输入的新密码不一致!!');
      end
   else
      adoquery1.Close;
      adoquery1.SQL.Clear;
      adoquery1.SQL.Add('update username set password ='+char(39)+trim(edit2.text)+char(39)+
      'where name='+char(39)+trim(s_name)+char(39));
      adoquery1.ExecSQL ;
     application.MessageBox('密码修改成功!!',chr(48)) ;
  end;
 end;
procedure Tf_xgmm.Button2Click(Sender: TObject);
begin
close;
end;
end.
4.//部门设置(f_dept) :
unit w_dept;
 
  
      
  
interface
 
  
      
  
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, DB, ADODB, Buttons;
 
  
      
  
type
  Tf_dept = class(TForm)
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Edit1: TEdit;
    Edit2: TEdit;
    ADOQuery1: TADOQuery;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    procedure BitBtn1Click(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
    procedure Edit1KeyPress(Sender: TObject; var Key: Char);
    procedure Edit2KeyPress(Sender: TObject; var Key: Char);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
  
      
  
var
  f_dept: Tf_dept;
 
  
      
  
implementation
 
  
      
  
{$R *.dfm}
 
  
      
  
procedure Tf_dept.BitBtn1Click(Sender: TObject);
begin
if adoquery1.active  then  begin
if edit1.Text<>'' then
begin
adoquery1.Append;
adoquery1.fieldbyname('depa_id').AsString :=trim(edit1.Text);
adoquery1.fieldbyname('depa_name').AsString :=trim(edit2.Text);
adoquery1.Post;
showmessage('数据保存成功!!') ;
edit1.Text:='';
edit2.Text:='';
edit1.SetFocus ;
end;
end;
end;
 
  
      
  
procedure Tf_dept.BitBtn2Click(Sender: TObject);
begin
close;
end;
 
  
      
  
procedure Tf_dept.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if key=char(13) then
    if trim(edit1.Text)<>'' then
      begin
        edit2.SetFocus;
     end
    else
      begin
       showmessage('请输入部门编号!');
       edit1.SetFocus;
  end;
end;
 
  
      
  
procedure Tf_dept.Edit2KeyPress(Sender: TObject; var Key: Char);
begin
if key=char(13) then
    if trim(edit2.Text)<>'' then
      begin
       bitbtn1.SetFocus;
     end
    else
      begin
       bitbtn1.SetFocus;
     end;
end;
 
  
      
  
end.
5.工资查询(f_gzcx)
unit w_gzcx;
 
  
      
  
interface
 
  
      
  
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Buttons, Grids, DBGrids, DB, ADODB, FR_Class, FR_DSet,
  FR_DBSet;
 
  
      
  
type
  Tf_gzcx = class(TForm)
    ADOQuery1: TADOQuery;
    DataSource1: TDataSource;
    DBGrid1: TDBGrid;
    GroupBox1: TGroupBox;
    Label16: TLabel;
    Label17: TLabel;
    Label1: TLabel;
    ComboBox1: TComboBox;
    ComboBox2: TComboBox;
    BitBtn9: TBitBtn;
    BitBtn6: TBitBtn;
    BitBtn7: TBitBtn;
    BitBtn1: TBitBtn;
    Edit21: TEdit;
    ADOQuery1bh: TStringField;
    ADOQuery1name: TStringField;
    ADOQuery1SEX: TStringField;
    ADOQuery1DEPA_ID: TStringField;
    ADOQuery1B_SALARY: TIntegerField;
    ADOQuery1WORKDAY: TIntegerField;
    ADOQuery1addtime: TIntegerField;
    ADOQuery1BUTIE: TIntegerField;
    ADOQuery1FULI: TIntegerField;
    ADOQuery1TEX: TIntegerField;
    ADOQuery1KOUCHU: TIntegerField;
    ADOQuery1JJ: TIntegerField;
    ADOQuery1SJ: TIntegerField;
    ADOQuery1BJ: TIntegerField;
    ADOQuery1R_SALARY: TIntegerField;
    RadioButton1: TRadioButton;
    RadioButton2: TRadioButton;
    frDBDataSet1: TfrDBDataSet;
    frReport1: TfrReport;
    procedure ADOQuery1CalcFields(DataSet: TDataSet);
    procedure BitBtn9Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure RadioButton1Click(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure RadioButton2Click(Sender: TObject);
    procedure BitBtn7Click(Sender: TObject);
    procedure BitBtn6Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
  
      
  
var
  f_gzcx: Tf_gzcx;
   bystr:string;
implementation
 
  
      
  
{$R *.dfm}
 
  
      
  
procedure Tf_gzcx.ADOQuery1CalcFields(DataSet: TDataSet);
begin
adoquery1.FieldByName('kouchu').Value :=adoquery1.fieldbyname('tex').Value+
(adoquery1.fieldbyname('b_salary').Value /adoquery1.fieldbyname('workday').Value) ;
adoquery1.FieldByName('r_salary').Value:=adoquery1.fieldbyname('b_salary').Value
+adoquery1.fieldbyname('butie').value+adoquery1.fieldbyname('fuli').value+
adoquery1.fieldbyname('addtime').value*(adoquery1.FieldByName('b_salary').Value/adoquery1.fieldbyname('workday').value)+
adoquery1.fieldbyname('jj').value-adoquery1.FieldByName('kouchu').Value ;
end;
procedure Tf_gzcx.BitBtn9Click(Sender: TObject);
begin
close;
end;
 
  
      
  
procedure Tf_gzcx.FormCreate(Sender: TObject);
begin
bystr:='bh';
end;
 
  
      
  
procedure Tf_gzcx.RadioButton1Click(Sender: TObject);
begin
if RadioButton1.Checked  then
bystr:='bh'
else
bystr:='depa_id';
end;
procedure Tf_gzcx.BitBtn1Click(Sender: TObject);
begin
adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.sql.add('select * from empsalary order by '+bystr);
adoquery1.Open;
end;
procedure Tf_gzcx.RadioButton2Click(Sender: TObject);
begin
if RadioButton1.Checked  then
bystr:='bh'
else
bystr:='depa_id';
end;
 
  
      
  
procedure Tf_gzcx.BitBtn7Click(Sender: TObject);
var
s,s1,s2,s3:string;
begin
  s1:=combobox1.Text;
  s2:=combobox2.text;
  s3:=edit21.Text;
 if s1='' then
  begin
    showmessage('请选择查询字段!');
  end
  else
   begin
      if s2='' then
      begin
        showmessage('请选择查询条件!');
      end
      else
     begin
      if s3='' then
      begin
        showmessage('请输入查询值!');
      end
      else
      begin
          s:='select * from empsalary where '+s1+s2+''''+s3+'''';
        adoquery1.Close;
        adoquery1.SQL.Clear;
        adoquery1.SQL.Add(s);
        adoquery1.Open;
        showmessage('共找到'+inttostr(adoquery1.RecordCount)+'条记录')
      end;
    end;
  end;
  end;
procedure Tf_gzcx.BitBtn6Click(Sender: TObject);
begin
f_gzcx.frReport1.ShowReport ; 
end;
end.
6.工资录入(f_gzrl)
unit w_gzrl;
interface
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, DB, StdCtrls, Mask, DBCtrls, ADODB, Buttons, ExtCtrls;
type
  Tf_gzrl = class(TForm)
    ADOQuery1: TADOQuery;
    Label1: TLabel;
    Label2: TLabel;
    DBEdit1: TDBEdit;
    DataSource1: TDataSource;
    Label3: TLabel;
    DBEdit2: TDBEdit;
    Label4: TLabel;
    DBEdit3: TDBEdit;
    Label5: TLabel;
    DBEdit4: TDBEdit;
    Label6: TLabel;
    DBEdit5: TDBEdit;
    Label7: TLabel;
    DBEdit6: TDBEdit;
    Label8: TLabel;
    DBEdit7: TDBEdit;
    Label9: TLabel;
    DBEdit8: TDBEdit;
    Label10: TLabel;
    DBEdit9: TDBEdit;
    Label11: TLabel;
    DBEdit10: TDBEdit;
    Label12: TLabel;
    DBEdit11: TDBEdit;
    Label13: TLabel;
    DBEdit12: TDBEdit;
    Label14: TLabel;
    DBEdit13: TDBEdit;
    Label16: TLabel;
    DBEdit14: TDBEdit;
    Label17: TLabel;
    DBEdit15: TDBEdit;
    Bevel1: TBevel;
    Button3: TButton;
    Button2: TButton;
    Button7: TButton;
    Button4: TButton;
    Button5: TButton;
    Button6: TButton;
    Button8: TButton;
    Button1: TButton;
    BitBtn1: TBitBtn;
    Bevel2: TBevel;
    Bevel3: TBevel;
    Edit1: TEdit;
    Edit2: TEdit;
    ADOQuery1bh: TStringField;
    ADOQuery1name: TStringField;
    ADOQuery1SEX: TStringField;
    ADOQuery1DEPA_ID: TStringField;
    ADOQuery1B_SALARY: TIntegerField;
    ADOQuery1WORKDAY: TIntegerField;
    ADOQuery1addtime: TIntegerField;
    ADOQuery1BUTIE: TIntegerField;
    ADOQuery1FULI: TIntegerField;
    ADOQuery1TEX: TIntegerField;
    ADOQuery1KOUCHU: TIntegerField;
    ADOQuery1JJ: TIntegerField;
    ADOQuery1SJ: TIntegerField;
    ADOQuery1BJ: TIntegerField;
    ADOQuery1R_SALARY: TIntegerField;
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button7Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure Button5Click(Sender: TObject);
    procedure Button6Click(Sender: TObject);
    procedure Button8Click(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure ADOQuery1CalcFields(DataSet: TDataSet);
    procedure Button1Click(Sender: TObject);
    procedure FormShow(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
var
  f_gzrl: Tf_gzrl;
implementation
{$R *.dfm}
procedure Tf_gzrl.Button2Click(Sender: TObject);
begin
dbedit1.text:='';
dbedit2.text:='';
dbedit3.text:='';
dbedit4.text:='';
dbedit5.text:='';
dbedit6.text:='';
dbedit7.text:='';
dbedit8.text:='';
dbedit9.text:='';
dbedit10.text:='';
dbedit11.text:='';
dbedit12.text:='';
dbedit13.text:='';
dbedit14.text:='';
dbedit15.text:='';
edit1.Text :='';
edit2.Text:='';
adoquery1.Append;
end;
procedure Tf_gzrl.Button3Click(Sender: TObject);
begin
adoquery1.Edit;
adoquery1.Post;
showmessage('数据修改成功!');
edit1.Text :='';
edit2.Text:='';
end;
procedure Tf_gzrl.Button7Click(Sender: TObject);
begin
if adoquery1.Modified then
     adoquery1.Post;
 end;
procedure Tf_gzrl.Button4Click(Sender: TObject);
begin
adoquery1.Prior;
edit1.Text :='';
edit2.Text:='';
end;
procedure Tf_gzrl.Button5Click(Sender: TObject);
begin
adoquery1.next;
edit1.Text :='';
edit2.Text:='';
end;
procedure Tf_gzrl.Button6Click(Sender: TObject);
begin
adoquery1.First;
showmessage('当前是第一条记录');
edit1.Text :='';
edit2.Text:='';
end;
procedure Tf_gzrl.Button8Click(Sender: TObject);
begin
adoquery1.Last;
showmessage('当前是最后一条记录');
edit1.Text :='';
edit2.Text:='';
end;
procedure Tf_gzrl.BitBtn1Click(Sender: TObject);
begin
close;
end;
procedure Tf_gzrl.ADOQuery1CalcFields(DataSet: TDataSet);
begin
adoquery1.FieldByName('kouchu').Value :=adoquery1.fieldbyname('tex').Value+
(adoquery1.fieldbyname('b_salary').Value /adoquery1.fieldbyname('workday').Value) ;
adoquery1.FieldByName('r_salary').Value:=adoquery1.fieldbyname('b_salary').Value
+adoquery1.fieldbyname('butie').value+adoquery1.fieldbyname('fuli').value+
adoquery1.fieldbyname('addtime').value*(adoquery1.FieldByName('b_salary').Value/adoquery1.fieldbyname('workday').value)+
adoquery1.fieldbyname('jj').value-adoquery1.FieldByName('kouchu').Value ;
 
  
      
  
end;
 
  
      
  
procedure Tf_gzrl.Button1Click(Sender: TObject);
begin
 edit1.Text:=dbedit11.Text;
 edit2.Text:=dbedit15.Text;
end;
 
  
      
  
procedure Tf_gzrl.FormShow(Sender: TObject);
begin
adoquery1.Refresh ;
edit1.Text:='';
edit2.Text:='';
end;
end.
7.主窗口(f_main)
unit w_main;
 
  
      
  
interface
 
  
      
  
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ComCtrls, Menus, ToolWin, ExtCtrls, ImgList, DB, ADODB, FR_DSet,
  FR_DBSet, FR_Class;
 
  
      
  
type
  Tf_main = class(TForm)
    MainMenu: TMainMenu;
    mnuSet: TMenuItem;
    mnuNewUser: TMenuItem;
    mnuEditPass: TMenuItem;
    mnuExit: TMenuItem;
    N5: TMenuItem;
    N6: TMenuItem;
    N8: TMenuItem;
    N11: TMenuItem;
    N12: TMenuItem;
    mnuUser: TMenuItem;
    mnuUserSet: TMenuItem;
    mnuUserSetDepa: TMenuItem;
    mnuUserSetPosi: TMenuItem;
    N3: TMenuItem;
    mnuUserInfo: TMenuItem;
    mnuUserInfoNew: TMenuItem;
    mnuUserInfoMan: TMenuItem;
    mnuUserSal: TMenuItem;
    mnuUserSalCom: TMenuItem;
    mnuUserSalSearch: TMenuItem;
    N4: TMenuItem;
    mnuUserPx: TMenuItem;
    mnuUserZpPlan: TMenuItem;
    mnuUserPxPlan: TMenuItem;
    N13: TMenuItem;
    mnuUserSearch: TMenuItem;
    N14: TMenuItem;
    N15: TMenuItem;
    stb_1: TStatusBar;
    N1: TMenuItem;
    N2: TMenuItem;
    Timer1: TTimer;
    ToolBar1: TToolBar;
    ToolButton1: TToolButton;
    ToolButton2: TToolButton;
    ToolButton3: TToolButton;
    ToolButton4: TToolButton;
    ImageList2: TImageList;
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure mnuEditPassClick(Sender: TObject);
    procedure N1Click(Sender: TObject);
    procedure N2Click(Sender: TObject);
    procedure mnuNewUserClick(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
    procedure mnuUserSetDepaClick(Sender: TObject);
    procedure mnuUserInfoNewClick(Sender: TObject);
    procedure mnuUserSalComClick(Sender: TObject);
    procedure mnuUserSalSearchClick(Sender: TObject);
    procedure ToolButton1Click(Sender: TObject);
    procedure ToolButton2Click(Sender: TObject);
    procedure ToolButton3Click(Sender: TObject);
    procedure ToolButton4Click(Sender: TObject);
    procedure mnuUserZpPlanClick(Sender: TObject);
    procedure mnuUserPxPlanClick(Sender: TObject);
    procedure mnuUserInfoManClick(Sender: TObject);
    procedure mnuUserSearchClick(Sender: TObject);
    procedure mnuExitClick(Sender: TObject);
  private
  function  whatweek:string;
    { Private declarations }
  public
    { Public declarations }
  end;
 
  
      
  
var
  f_main: Tf_main;
 
  
      
  
implementation
 
  
      
  
uses w_xgmm, w_login, w_yhgl, w_dept, w_xzyg, w_gzrl, w_gzcx, data1,
  w_zpinfo, w_pxinfo, w_yggl, Unit1, w_zhgl;
 
  
      
  
{$R *.dfm}
function tf_main.whatweek:string;
var
i_week:integer;
 begin
 i_week:=dayofweek(date());
  case i_week of
   1:result:='星期日';
   2:result:='星期一';
   3:result:='星期二';
   4:result:='星期三';
   5:result:='星期四';
   6:result:='星期五';
   7:result:='星期六'
   end;
end;
procedure Tf_main.FormClose(Sender: TObject; var Action: TCloseAction);
begin
   if MessageDlg('真正关闭窗口吗?', mtConfirmation,[mbYes, mbNo], 0) = mrYes then
   begin Action := caFree;
    application.Terminate;
  end
  else
    Action := caNone;
 end;
procedure Tf_main.mnuEditPassClick(Sender: TObject);
begin
f_xgmm:=tf_xgmm.create(self);
f_xgmm.ShowModal;
end;
procedure Tf_main.N1Click(Sender: TObject);
begin
 f_main.hide;
 f_login.show;
end;
 
  
      
  
procedure Tf_main.N2Click(Sender: TObject);
begin
  N2.Checked:=not N2.Checked;
 if N2.Checked  then
   begin
     self.AlphaBlend:=true;
     self.AlphaBlendValue:=125;
   end
 else
    self.AlphaBlend :=false;
end;
procedure Tf_main.mnuNewUserClick(Sender: TObject);
begin
f_yhgl:=tf_yhgl.create(self);
f_yhgl.showmodal;
end;
procedure Tf_main.Timer1Timer(Sender: TObject);
var
s_data,str1,str2:string;
begin
   str1:=formatdatetime('yyyy/mm/dd/hh:mm',now());
   str2:='  今天是'+copy(str1,1,4)+'年'+copy(str1,6,2)+'月'+copy(str1,9,2)+'日 '+copy(str1,12,2)+':'+copy(str1,15,2) ;
   s_data :='   '+str2+whatweek;
   stb_1.Panels[0].Text:=s_data;
end;
 
  
      
  
procedure Tf_main.mnuUserSetDepaClick(Sender: TObject);
begin
f_dept:=tf_dept.create(self);
f_dept.ShowModal;
end;
procedure Tf_main.mnuUserInfoNewClick(Sender: TObject);
begin
f_xzyg:=tf_xzyg.create(self);
f_xzyg.showmodal;
end;
 
  
      
  
procedure Tf_main.mnuUserSalComClick(Sender: TObject);
begin
f_gzrl:=tf_gzrl.create(self);
f_gzrl.show;
end;
procedure Tf_main.mnuUserSalSearchClick(Sender: TObject);
begin
f_gzcx:=tf_gzcx.create(self);
f_gzcx.show;
end;
 
  
      
  
procedure Tf_main.ToolButton1Click(Sender: TObject);
begin
data_1.frReport1.ShowReport;
end;
 
  
      
  
procedure Tf_main.ToolButton2Click(Sender: TObject);
begin
data_1.frReport2.ShowReport ;
end;
 
  
      
  
procedure Tf_main.ToolButton3Click(Sender: TObject);
begin
data_1.frReport3.ShowReport ;
end;
procedure Tf_main.ToolButton4Click(Sender: TObject);
begin
data_1.frReport4.ShowReport ;
end;
 
  
      
  
procedure Tf_main.mnuUserZpPlanClick(Sender: TObject);
begin
f_zpinfo:=tf_zpinfo.create(self);
f_zpinfo.show;
end;
procedure Tf_main.mnuUserPxPlanClick(Sender: TObject);
begin
f_pxinfo:=tf_pxinfo.create(self);
f_pxinfo.show;
end;
procedure Tf_main.mnuUserInfoManClick(Sender: TObject);
begin
form1.show;
end;
procedure Tf_main.mnuUserSearchClick(Sender: TObject);
begin
f_zhgl:=tf_zhgl.create(self);
f_zhgl.show;
end;
procedure Tf_main.mnuExitClick(Sender: TObject);
begin
 application.Terminate;
end;
end.
8.综合查询(f_zhcx)程序代码:
unit w_zhgl;
 
  
      
  
interface
 
  
      
  
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, DB, Grids, DBGrids, ADODB, ComCtrls, StdCtrls, Buttons;
 
  
      
  
type
  Tf_zhgl = class(TForm)
    PageControl1: TPageControl;
    TabSheet1: TTabSheet;
    TabSheet2: TTabSheet;
    ADOQuery1: TADOQuery;
    DataSource1: TDataSource;
    DBGrid1: TDBGrid;
    DBGrid2: TDBGrid;
    ADOQuery2: TADOQuery;
    DataSource2: TDataSource;
    ComboBox1: TComboBox;
    Edit1: TEdit;
    ComboBox2: TComboBox;
    Edit2: TEdit;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Edit3: TEdit;
    Label7: TLabel;
    Edit4: TEdit;
    BitBtn3: TBitBtn;
    BitBtn4: TBitBtn;
    b_fanhui1: TBitBtn;
    ADOQuery2bh: TStringField;
    ADOQuery2name: TStringField;
    ADOQuery2sex: TStringField;
    ADOQuery2birthday: TDateTimeField;
    ADOQuery2depa_id: TStringField;
    ADOQuery2job: TStringField;
    ADOQuery2nation: TStringField;
    ADOQuery2zzmm: TStringField;
    ADOQuery2b_salary: TFloatField;
    ADOQuery2work_time: TIntegerField;
    ADOQuery2memo: TStringField;
    ADOQuery1ZP_ID: TStringField;
    ADOQuery1TIME: TDateTimeField;
    ADOQuery1DEPA_NAME: TStringField;
    ADOQuery1MAN: TIntegerField;
    ADOQuery1xueli: TStringField;
    Button1: TButton;
    procedure BitBtn4Click(Sender: TObject);
    procedure BitBtn3Click(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
    procedure BitBtn5Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
  
      
  
var
  f_zhgl: Tf_zhgl;
 
  
      
  
implementation
 
  
      
  
{$R *.dfm}
 
  
      
  
procedure Tf_zhgl.BitBtn4Click(Sender: TObject);
begin
close;
end;
 
  
      
  
procedure Tf_zhgl.BitBtn3Click(Sender: TObject);
var
ss:string;
begin
  ss:='';
 if combobox1.Text+edit3.Text+edit4.Text='' then
    begin
    application.MessageBox('您没有输入查询条件!!','提示',MB_ok+MB_ICONINFORMATION);
    end
else
  begin
     if combobox1.Text<>'' then
         ss:=ss+'and DEPA_NAME='+''''+combobox1.Text+'''';
     if edit3.Text <>'' then
       ss:=ss+'and ZP_ID='+''''+edit3.Text+'''';
     if edit4.Text<>'' then
        ss:=ss+'and man='+''''+edit4.Text+'''';
       ss:='select * from zpinfo where 1=1'+ss;
     adoquery1.Close;
     adoquery1.SQL.Clear;
     adoquery1.SQL.Add(ss);
     adoquery1.Open;
    if adoquery1.RecordCount=0 then  begin
       application.MessageBox('没有符合要求查询条件,请重新输入!','提示',MB_ok+MB_ICONINFORMATION);
    end;
  end ;
  end;
procedure Tf_zhgl.BitBtn1Click(Sender: TObject);
var
ss:string;
begin
ss:='';
if  edit1.Text+combobox2.Text+edit2.Text=''  then
    begin
     application.MessageBox('没有输入查询条件!!','提示',MB_ok+MB_ICONINFORMATION);
    end
else
   begin
    if edit1.Text<>'' then
      ss:=ss+'and bh='+''''+edit1.Text+'''';
    if combobox2.text<>'' then
       ss:=ss+'and depa_id='+''''+combobox2.Text+'''';
    if  edit2.Text<>'' then
        ss:=ss+'and name='+''''+edit2.Text+'''';
        ss:='select * from empinfo where 1=1'+ss ;
       adoquery2.Close;
       adoquery2.SQL.Clear ;
       adoquery2.SQL.Add(ss);
       adoquery2.Open;
       if adoquery2.RecordCount=0 then  begin
         showmessage('您输入的条件不符合条件,请重新输入!!');
  end;
end;
end;
procedure Tf_zhgl.BitBtn2Click(Sender: TObject);
begin
close;
end;
 
  
      
  
procedure Tf_zhgl.BitBtn5Click(Sender: TObject);
begin
adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.Add('select * from zpinfo ');
adoquery1.Open ;
end;
procedure Tf_zhgl.Button1Click(Sender: TObject);
begin
adoquery2.Close;
adoquery2.SQL.Clear;
adoquery2.SQL.Add('select * from empinfo ');
adoquery2.Open ;
end;
 
  
      
  
end.