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

📄 queryemployee.pas

📁 餐饮管理源代码 使用BDE Administrator在本地机器上添加一个Paradox数据库别名命名为WorkData
💻 PAS
字号:
unit queryEmployee;

interface

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

type
  TfrmQueryEmployee = class(TForm)
    GroupBox1: TGroupBox;
    Label5: TLabel;
    Label2: TLabel;
    Label1: TLabel;
    Label11: TLabel;
    Label9: TLabel;
    Label3: TLabel;
    Label12: TLabel;
    Label4: TLabel;
    eduLevel: TComboBox;
    folk: TEdit;
    employeeName: TEdit;
    gender: TComboBox;
    address: TEdit;
    telephone: TEdit;
    btnOk: TButton;
    btnClear: TButton;
    GroupBox2: TGroupBox;
    lowbirth: TDateTimePicker;
    highBirth: TDateTimePicker;
    GroupBox3: TGroupBox;
    lowJoin: TDateTimePicker;
    highjoin: TDateTimePicker;
    employeeId: TEdit;
    GroupBox4: TGroupBox;
    DBNavigator1: TDBNavigator;
    GroupBox8: TGroupBox;
    change: TButton;
    delete: TButton;
    GroupBox6: TGroupBox;
    asc: TRadioButton;
    desc: TRadioButton;
    GroupBox5: TGroupBox;
    id: TRadioButton;
    name: TRadioButton;
    edu: TRadioButton;
    join: TRadioButton;
    GroupBox7: TGroupBox;
    DBGrid1: TDBGrid;
    sqlEmployee: TQuery;
    DataSource1: TDataSource;
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormCreate(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 btnClearClick(Sender: TObject);
    procedure btnOkClick(Sender: TObject);
    procedure changeClick(Sender: TObject);
    procedure deleteClick(Sender: TObject);
  private
    { Private declarations }
    s:string;
    function isInteger(s:string):boolean;
  public
    { Public declarations }
  end;

var
  frmQueryEmployee: TfrmQueryEmployee;

implementation

uses changeEmployee, deleteEmployee;

{$R *.dfm}

procedure TfrmQueryEmployee.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
   self.Free;
end;

procedure TfrmQueryEmployee.FormCreate(Sender: TObject);
begin
   s:='select * from employee ';
   with sqlEmployee do
   begin
      close;
      sql.Clear;
      sql.Add(s);
      open;
   end;
   activeControl:=employeeId;
   lowbirth.Date:=strToDate('1800-1-1');
   highbirth.Date:=now;
   lowjoin.Date:=strTodate('1800-1-1');
   highjoin.Date:=now;
end;

procedure TfrmQueryEmployee.ascClick(Sender: TObject);
var
   col:string;
begin

   if id.Checked then col:='员工编号'
   else if name.Checked then col:='员工姓名'
   else if edu.Checked then col:='学历'
   else if join.Checked then col:='加盟时间';
   with sqlEmployee do
   begin
   Close;
   SQL.Clear;
   SQL.Add(s+'order by '+col+' asc');
   try
      Open;
   except
      ExecSQL;
   end;
   end;
end;

procedure TfrmQueryEmployee.descClick(Sender: TObject);
var
   col:string;
begin

   if id.Checked then col:='员工编号'
   else if name.Checked then col:='员工姓名'
   else if edu.Checked then col:='学历'
   else if join.Checked then col:='加盟时间';
   with sqlEmployee do
   begin
   Close;
   SQL.Clear;
   SQL.Add(s+'order by '+col+' desc');
   try
      Open;
   except
      ExecSQL;
   end;
   end;
end;

procedure TfrmQueryEmployee.idClick(Sender: TObject);
var
   t:string;
begin
   if asc.Checked then t:='asc'
   else if desc.Checked then t:='desc';
   with sqlEmployee do
   begin
   Close;
   SQL.Clear;
   SQL.Add(s+' order by 员工编号 '+t);
   try
      Open;
   except
      ExecSQL;
   end;
   end;
end;

procedure TfrmQueryEmployee.nameClick(Sender: TObject);
var
   t:string;
begin
   if asc.Checked then t:='asc'
   else if desc.Checked then t:='desc';
   with sqlEmployee do
   begin
   Close;
   SQL.Clear;
   SQL.Add(s+' order by 员工姓名 '+t);
   try
      Open;
   except
      ExecSQL;
   end;
   end;
end;

procedure TfrmQueryEmployee.eduClick(Sender: TObject);
var
   t:string;
begin
   if asc.Checked then t:='asc'
   else if desc.Checked then t:='desc';
   with sqlEmployee do
   begin
   Close;
   SQL.Clear;
   SQL.Add(s+' order by 学历 '+t);
   try
      Open;
   except
      ExecSQL;
   end;
   end;
end;

procedure TfrmQueryEmployee.joinClick(Sender: TObject);
var
   t:string;
begin
   if asc.Checked then t:='asc'
   else if desc.Checked then t:='desc';
   with sqlEmployee do
   begin
   Close;
   SQL.Clear;
   SQL.Add(s+' order by 加盟时间 '+t);
   try
      Open;
   except
      ExecSQL;
   end;
   end;
end;

procedure TfrmQueryEmployee.btnClearClick(Sender: TObject);
begin
   employeeId.Text:='';
   employeeName.Text:='';
   gender.ItemIndex:=0;
   folk.Text:='';
   activeControl:=employeeId;
   lowbirth.Date:=strToDate('1800-1-1');
   highbirth.Date:=now;
   lowjoin.Date:=strTodate('1800-1-1');
   highjoin.Date:=now;
   eduLevel.ItemIndex:=0;
   address.Text:='';
   telephone.Text:='';
end;

procedure TfrmQueryEmployee.btnOkClick(Sender: TObject);
var
   i:integer;
   low,high:string;
begin
   s:='select * from employee ';
   i:=0;
   {处理员工编号}
   if isInteger(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 gender.Text<>'' then
   begin

      if i=0 then
         s:=s+'where 性别='''+gender.Text+''''
      else
         s:=s+' and  性别='''+gender.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;
   {处理生日}
   low:=formatDateTime('mm''/''dd''/''yyyy',lowbirth.Date);
   high:=formatDateTime('mm''/''dd''/''yyyy',highbirth.Date);
   if i=0 then
      s:=s+'where '
   else
      s:=s+' and ';
   s:=s+'生日<='''+high+''' and 生日>='''+low+'''';
   {处理加盟时间}
   low:=formatDateTime('mm''/''dd''/''yyyy',lowjoin.Date);
   high:=formatDateTime('mm''/''dd''/''yyyy',highjoin.Date);
   s:=s+' and '+'加盟时间<='''+high+''' and 加盟时间>='''+low+'''';
   {处理学历}
   if eduLevel.Text<>'' then
      s:=s+' and 学历='''+eduLevel.Text+'''';
   {处理住址}
   if address.Text<>'' then
      s:=s+' and 住址='''+address.Text+'''';
   {处理电话}
    if telephone.Text<>'' then
      s:=s+' and 电话='''+telephone.Text+'''';
    with sqlEmployee do
    begin
      close;
      sql.Clear;
      sql.Add(s);
      try
         open;
      except
         execsql;
      end;
    end;
end;

function TfrmQueryEmployee.isInteger(s: string): boolean;
var
   i:integer;
begin
   i:=1;
   if length(s)=0 then
   begin
      result:=false;
      exit;
   end;
   while i<=length(s) do
   begin
      if (isNumeric(s[i])=false) then
      begin
         result:=false;
         exit;
      end;
      i:=i+1;
   end;
   result:=true;
end;


procedure TfrmQueryEmployee.changeClick(Sender: TObject);
begin
   frmChangeEmployee:=TFrmChangeEmployee.Create(self);
   frmChangeEmployee.ShowModal;
end;

procedure TfrmQueryEmployee.deleteClick(Sender: TObject);
begin
   frmDeleteEmployee:=TFrmDeleteEmployee.create(self);
   frmDeleteEmployee.ShowModal;
end;

end.

⌨️ 快捷键说明

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