📄 unit7.pas
字号:
unit Unit7;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Grids, DBGrids, ComCtrls, ExtCtrls, DBCtrls, DB,
DBTables,IdGlobal;
type
TForm7 = class(TForm)
GroupBox1: TGroupBox;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label9: TLabel;
Label10: TLabel;
employeeid: TEdit;
employeename: TEdit;
idcard: TEdit;
gender: TComboBox;
married: TComboBox;
politic: TComboBox;
edu: TComboBox;
employeerank: TComboBox;
DBGrid1: TDBGrid;
GroupBox2: TGroupBox;
GroupBox3: TGroupBox;
asc: TRadioButton;
desc: TRadioButton;
id: TRadioButton;
name: TRadioButton;
rank: TRadioButton;
date: TRadioButton;
GroupBox4: TGroupBox;
lowbirth: TDateTimePicker;
highbirth: TDateTimePicker;
Label4: TLabel;
GroupBox5: TGroupBox;
lowjoin: TDateTimePicker;
highjoin: TDateTimePicker;
Label8: TLabel;
GroupBox6: TGroupBox;
DBNavigator1: TDBNavigator;
GroupBox7: TGroupBox;
select: TButton;
refresh: TButton;
sqlemployee: TQuery;
DataSource1: TDataSource;
modify: TButton;
delete: TButton;
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 selectClick(Sender: TObject);
procedure refreshClick(Sender: TObject);
procedure rankClick(Sender: TObject);
procedure dateClick(Sender: TObject);
procedure modifyClick(Sender: TObject);
procedure deleteClick(Sender: TObject);
private
{ Private declarations }
s:string;
function isInteger(s:string):boolean;
public
{ Public declarations }
end;
var
Form7: TForm7;
implementation
uses Unit34, Unit35;
{$R *.dfm}
procedure Tform7.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
self.Free;
end;
procedure Tform7.FormCreate(Sender: TObject);
begin
s:='select * from employee ';
with sqlEmployee do
begin
close;
sql.Clear;
sql.Add(s);
open;
end;
activeControl:=employeeId;
id.Checked:=true;
lowbirth.Date:=strToDate('1800-1-1');
highbirth.Date:=now;
lowjoin.Date:=strTodate('1800-1-1');
highjoin.Date:=now;
end;
procedure Tform7.ascClick(Sender: TObject);
var
col:string;
begin
if id.Checked then col:='员工编号'
else if name.Checked then col:='员工姓名'
else if rank.Checked then col:='员工等级'
else if date.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 Tform7.descClick(Sender: TObject);
var
col:string;
begin
if id.Checked then col:='员工编号'
else if name.Checked then col:='员工姓名'
else if rank.Checked then col:='员工等级'
else if date.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 Tform7.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 Tform7.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 TForm7.rankClick(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 TForm7.dateClick(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 TForm7.refreshClick(Sender: TObject);
begin
employeeId.Text:='';
employeeName.Text:='';
gender.ItemIndex:=0;
edu.itemindex:=0;
politic.itemindex:=0;
married.itemindex:=0;
activeControl:=employeeId;
lowbirth.Date:=strToDate('1800-1-1');
highbirth.Date:=now;
lowjoin.Date:=strTodate('1800-1-1');
highjoin.Date:=now;
employeerank.itemindex:=0;
idcard.Text:='';
{让数据控件dbGrid1同步显示}
with sqlemployee do
begin
close;
sql.Clear;
sql.Add('select * from employee');
open;
end;
end;
procedure TForm7.selectClick(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;
{处理生日}
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 edu.Text<>'' then
s:=s+' and 学历='''+edu.Text+'''';
{处理政治面貌}
if politic.Text<>'' then
s:=s+' and 政治面貌='''+politic.Text+'''';
{处理婚姻状况}
if married.Text<>'' then
s:=s+' and 婚姻状况='''+married.Text+'''';
{处理员工等级}
if employeerank.Text<>'' then
s:=s+' and 员工等级='''+employeerank.Text+'''';
if idcard.Text<>'' then
s:=s+' and 身份证号='''+idcard.Text+'''';
with sqlEmployee do
begin
close;
sql.Clear;
sql.Add(s);
try
open;
except
execsql;
end;
end;
end;
function Tform7.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 TForm7.modifyClick(Sender: TObject);
begin
form34:=TForm34.Create(self);
form34.ShowModal;
end;
procedure TForm7.deleteClick(Sender: TObject);
begin
form35:=TForm35.create(self);
form35.ShowModal;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -