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

📄 queryemployeeunit.pas

📁 一个很不错的系统! 查询模块方面是我编的最好的一次.几乎完美!!!!.
💻 PAS
字号:
unit queryemployeeunit;

interface

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

type
  Tfrm_queryemployee = class(TForm)
    GroupBox1: TGroupBox;
    Label5: TLabel;
    Label2: TLabel;
    Label1: TLabel;
    Label11: TLabel;
    Label9: TLabel;
    Label3: TLabel;
    Label12: TLabel;
    Label4: TLabel;
    eduLevel: TComboBox;
    employeeName: TEdit;
    sex: TComboBox;
    address: TEdit;
    tel: TEdit;
    b_query: TButton;
    b_clear: TButton;
    GroupBox2: TGroupBox;
    GroupBox3: TGroupBox;
    employeeId: TEdit;
    GroupBox4: TGroupBox;
    DBNavigator1: TDBNavigator;
    GroupBox8: TGroupBox;
    b_modify: TButton;
    b_del: TButton;
    GroupBox6: TGroupBox;
    asc: TRadioButton;
    desc: TRadioButton;
    GroupBox5: TGroupBox;
    id: TRadioButton;
    name: TRadioButton;
    edu: TRadioButton;
    join: TRadioButton;
    GroupBox7: TGroupBox;
    DBGrid1: TDBGrid;
    folk: TComboBox;
    lowbirth: TDateTimePicker;
    highBirth: TDateTimePicker;
    lowtime: TDateTimePicker;
    hightime: TDateTimePicker;
    q_employee: TADOQuery;
    ds_employee: TDataSource;
    procedure b_queryClick(Sender: TObject);
    procedure b_clearClick(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure ascClick(Sender: TObject);
    procedure descClick(Sender: TObject);
    procedure idClick(Sender: TObject);
    procedure nameClick(Sender: TObject);
    procedure eduClick(Sender: TObject);
    procedure joinClick(Sender: TObject);
    procedure b_modifyClick(Sender: TObject);
    procedure DBGrid1DblClick(Sender: TObject);
  private
    { Private declarations }
    str:string;
    function isint(s:string):boolean;
  public
    { Public declarations }
  end;

var
  frm_queryemployee: Tfrm_queryemployee;

implementation
  uses changeemployeeunit, datamoduleunit;
{$R *.dfm}
function tfrm_queryemployee.isint(s:string):boolean;
var i:integer;
begin
i:=1;
 while i<=length(s) do
  begin
   if (ord(s[i])<48) or (ord(s[i])>57)
    then
     begin
      result:=false;
      exit;
     end;
    i:=i+1;
   result:=true;
  end;    
end;

procedure Tfrm_queryemployee.b_queryClick(Sender: TObject);
var s:string;
 i:integer;
begin
  s:='select * from employee';
   i:=0;
 if employeeid.Text<>'' then
   begin
   s:=s+' where 员工编号='''+employeeid.Text+'''';
   i:=i+1;
   end;  
  if employeename.Text<>''  then
   begin
   if i=0  then s:=s+' where 员工姓名='''+employeename.Text+''''
           else s:=s+' and 员工姓名='''+employeename.Text+'''';
   i:=i+1;
   end;
  if sex.Text<>''  then
   begin
    if i=0
    then s:=s+' where 性别='''+sex.Text+''''
    else s:=s+' and 性别='''+sex.Text+'''';
   i:=i+1;
   end;
 if folk.Text<>''
  then
   begin
   if i=0
    then s:=s+' where 民族='''+folk.Text+''''
    else s:=s+' and 民族='''+folk.Text+'''';
   i:=i+1;
   end;
  if i=0 then  s:=s+' where ' else   s:=s+' and';
   s:=s+' 生日>='''+datetostr(lowbirth.Date)+'''';
   s:=s+' and 生日<='''+datetostr(highbirth.Date)+'''';
   s:=s+' and 加盟时间>='''+datetostr(lowtime.Date)+'''';
   s:=s+' and 加盟时间<='''+datetostr(hightime.Date)+'''';
   i:=i+1;
  if edulevel.Text<>'' then
   begin
    if i=0
    then s:=s+' where 学历='''+edulevel.Text+''''
    else s:=s+' and 学历='''+edulevel.Text+'''';
   i:=i+1;
   end;
 if address.Text<>''
  then
   begin
   if i=0
    then s:=s+' where 地址='''+address.Text+''''
    else s:=s+' and 地址='''+address.Text+'''';
   i:=i+1;
   end;

 if tel.Text<>'' then
   begin
    if (isint(tel.Text)=false) or (length(tel.Text)>12) then
      begin
       showmessage('请添写正确的电话号码');
       activecontrol:=tel;
       exit;
     end;
   if i=0
    then s:=s+' where 电话='''+tel.Text+''''
    else s:=s+' and 电话='''+tel.Text+'''';
   i:=i+1;
   end;
 q_employee.Close;
 q_employee.SQL.Clear;
 q_employee.SQL.Add(s);
 try
  q_employee.Open;
 except
   q_employee.ExecSQL;
  end;
 str:=s; 





end;

procedure Tfrm_queryemployee.b_clearClick(Sender: TObject);
begin
employeeid.Text:='';
employeename.Text:='';
sex.Text:='';
folk.Text:='';
lowbirth.Date:=strtodate('1935-6-27');
highbirth.Date:=now;
lowtime.Date:=strtodate('1935-6-27');
hightime.Date:=now;
edulevel.Text:='';
address.Clear;
tel.Clear;
asc.Checked:=true;
id.Checked:=true;
activecontrol:=employeeid;

end;

procedure Tfrm_queryemployee.FormShow(Sender: TObject);
begin
frm_queryemployee.b_clearClick(nil);
end;

procedure Tfrm_queryemployee.ascClick(Sender: TObject);
var s:string;
 col:string;
begin
 s:=str;
 if id.Checked then col:=' 员工编号'
  else if name.Checked then col:=' 员工姓名'
   else if edu.Checked then col:=' 学历'
    else col:=' 加盟时间';
  s:=s+' order by'+col+' asc';
  q_employee.Close;
  q_employee.SQL.Clear;
  q_employee.SQL.Add(s);
  try
   q_employee.Open;
   except
    q_employee.ExecSQL;
   end;
 end;

procedure Tfrm_queryemployee.descClick(Sender: TObject);
var s:string;
 col:string;
begin
 s:=str;
 if id.Checked then col:=' 员工编号'
  else if name.Checked then col:=' 员工姓名'
   else if edu.Checked then col:=' 学历'
    else col:=' 加盟时间';
  s:=s+' order by'+col+' desc';
  q_employee.Close;
  q_employee.SQL.Clear;
  q_employee.SQL.Add(s);
  try
   q_employee.Open;
   except
    q_employee.ExecSQL;
   end;
 end;


procedure Tfrm_queryemployee.idClick(Sender: TObject);
var s:string;
    x:string;
begin
 if asc.Checked then x:=' asc' else x:=' desc';
 s:=str;
 s:=s+' order by 员工编号'+x;
  q_employee.Close;
  q_employee.SQL.Clear;
  q_employee.SQL.Add(s);
  try
   q_employee.Open;
   except
    q_employee.ExecSQL;
   end;
 end;
procedure Tfrm_queryemployee.nameClick(Sender: TObject);
var s:string;
    x:string;
begin
 if asc.Checked then x:=' asc' else x:=' desc';
 s:=str;
 s:=s+' order by 员工姓名'+x;
  q_employee.Close;
  q_employee.SQL.Clear;
  q_employee.SQL.Add(s);
  try
   q_employee.Open;
   except
    q_employee.ExecSQL;
   end;
 end;

procedure Tfrm_queryemployee.eduClick(Sender: TObject);
var s:string;
    x:string;
begin
 if asc.Checked then x:=' asc' else x:=' desc';
 s:=str;
 s:=s+' order by 学历'+x;
  q_employee.Close;
  q_employee.SQL.Clear;
  q_employee.SQL.Add(s);
  try
   q_employee.Open;
   except
    q_employee.ExecSQL;
   end;
 end;
procedure Tfrm_queryemployee.joinClick(Sender: TObject);
var s:string;
    x:string;
begin
 if asc.Checked then x:=' asc' else x:=' desc';
 s:=str;
 s:=s+' order by 加盟时间'+x;
  q_employee.Close;
  q_employee.SQL.Clear;
  q_employee.SQL.Add(s);
  try
   q_employee.Open;
   except
    q_employee.ExecSQL;
   end;
 end;
procedure Tfrm_queryemployee.b_modifyClick(Sender: TObject);
begin
frm_changeemployee:=tfrm_changeemployee.Create(self);
if sender=b_del then frm_changeemployee.b_modify.Visible:=false else frm_changeemployee.b_del.Visible:=false;
frm_changeemployee.ShowModal;
frm_changeemployee.Destroy;
end;     

procedure Tfrm_queryemployee.DBGrid1DblClick(Sender: TObject);
begin
if b_modify.Enabled=false then exit;
frm_queryemployee.b_modifyClick(nil);
end;

end.

⌨️ 快捷键说明

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