📄 unit22.pas
字号:
unit Unit22;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, StdCtrls, ExtCtrls, Buttons, Grids, DBGrids;
type
TF_emp = class(TForm)
Panel1: TPanel;
SpeedButton1: TSpeedButton;
SpeedButton2: TSpeedButton;
SpeedButton3: TSpeedButton;
SpeedButton4: TSpeedButton;
Panel2: TPanel;
Splitter1: TSplitter;
Panel3: TPanel;
Splitter2: TSplitter;
Label1: TLabel;
Edit1: TEdit;
Label2: TLabel;
Edit2: TEdit;
Label3: TLabel;
ComboBox1: TComboBox;
Label4: TLabel;
DateTimePicker1: TDateTimePicker;
Label5: TLabel;
Edit3: TEdit;
Label6: TLabel;
ComboBox2: TComboBox;
Label7: TLabel;
Edit4: TEdit;
Label8: TLabel;
DateTimePicker2: TDateTimePicker;
Button1: TButton;
Button2: TButton;
Label9: TLabel;
Edit5: TEdit;
Button3: TButton;
Label10: TLabel;
Edit6: TEdit;
Button4: TButton;
DBGrid1: TDBGrid;
procedure SpeedButton1Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure SpeedButton2Click(Sender: TObject);
procedure SpeedButton3Click(Sender: TObject);
procedure SpeedButton4Click(Sender: TObject);
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure Edit5Change(Sender: TObject);
procedure Edit6Change(Sender: TObject);
procedure Edit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure Edit2KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure ComboBox1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure DateTimePicker1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure Edit3KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure ComboBox2KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure Edit4KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure DateTimePicker2KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
private
{ Private declarations }
public
{ Public declarations }
end;
var
F_emp: TF_emp;
change:boolean;
implementation
uses unit11;
{$R *.dfm}
procedure TF_emp.SpeedButton1Click(Sender: TObject);
begin
Speedbutton1.Enabled:=false;
Speedbutton2.Enabled:=false;
Speedbutton3.Enabled:=false;
edit1.Clear;
edit2.Clear;
edit3.Clear;
edit4.Clear;
Edit1.Enabled:=true;
Edit2.Enabled:=true;
Edit3.Enabled:=true;
Edit4.Enabled:=true;
edit1.SetFocus;
ComboBox1.Enabled :=true;
ComboBox2.Enabled :=true;
DateTimePicker1.Enabled :=true;
DateTimePicker2.Enabled :=true;
Button1.Enabled:=true;
Button2.Enabled:=true;
end;
procedure TF_emp.Button1Click(Sender: TObject);
begin
if change<>True then
begin
mydm.find.Close;
mydm.find.SQL.Clear;
mydm.find.SQL.Add('select*from employee where emp_id='''+Trim(Edit1.text)+'''');
mydm.find.Open;
if mydm.find.RecordCount>0 then//查找是否有重复记录有则退出
begin
Application.MessageBox('编号重复。','提示!',mb_ok);
Exit;
end;
end;
if ((Edit1.Text<>'') and (Edit2.Text<>'') and (Edit3.Text<>'' ) and (Edit4.Text<>'')
and (ComboBox1.Text<>'') and (combobox2.Text<>'') ) then
begin
if change=True then mydm.empsrc.DataSet.Delete;
with mydm.empQuery do //插入新记录
begin
Close;
with SQL do
begin
Clear;
Add('insert into employee values(:p0,:p1,:p2,:p3,:p4,:p5,:p6,:p7)');
Parameters[0].Value:=Edit1.Text;
Parameters[1].Value:=Edit2.Text;
Parameters[2].Value:=ComboBox1.Text;
Parameters[3].Value:=DateTimePicker1.Date;
Parameters[4].Value:=Edit3.Text;
Parameters[5].Value:=combobox2.Text;
parameters[6].Value:=Edit4.Text;
Parameters[7].Value:=DateTimePicker2.Date;
end;
Execsql;
end;
//刷新表
with mydm.empQuery do
begin
Close;
with sql do
begin
Clear;
Add('select*from employee');
end;
Open;
Change:=False;
Button2.Click;
end;
end
else
begin
Application.MessageBox('输入必要信息','提示',64);
Exit;
end;
Edit1.Enabled:=False;
Edit2.Enabled:=False;
edit3.Enabled:=false;
edit4.Enabled:=false;
Speedbutton1.Enabled:=True;
Speedbutton2.Enabled:=True;
Speedbutton3.Enabled:=True;
button1.Enabled:=False;
button2.Enabled:=False;
end;
procedure TF_emp.Button2Click(Sender: TObject);
begin
Edit1.Clear;
Edit2.Clear;
edit3.Clear;
edit4.Clear;
datetimepicker1.Date;
datetimepicker2.Date;
Edit1.Enabled:=false;
Edit2.Enabled:=false;
edit3.Enabled:=false;
edit4.Enabled:=false;
Button2.Enabled:=false;
Button1.Enabled:=false;
Speedbutton1.Enabled:=true;
Speedbutton2.Enabled:=true;
Speedbutton3.Enabled:=true;
change:=False;
end;
procedure TF_emp.SpeedButton2Click(Sender: TObject);
begin
Edit1.Clear;
Edit2.Clear;
Edit3.Clear;
Edit4.Clear;
Edit1.Enabled:=True;
Edit2.Enabled:=True;
Edit3.Enabled:=true;
edit4.Enabled:=true;
combobox1.Enabled :=true;
combobox2.Enabled :=true;
datetimepicker1.Enabled :=true;
datetimepicker2.Enabled :=true;
Speedbutton1.Enabled:=False;
Speedbutton2.Enabled:=False;
Speedbutton3.Enabled:=False;
Button1.Enabled:=true;
Button2.Enabled:=true;
begin
Edit1.Text:=mydm.empsrc.DataSet.Fields[0].AsString;//记录在TEdit组件中显示
Edit2.Text:=mydm.empsrc.DataSet.Fields[1].AsString;
combobox1.Text:=mydm.empsrc.DataSet.Fields[2].AsString;
datetimepicker1.Date:=mydm.empsrc.DataSet.Fields[3].AsDateTime;
edit3.Text:=mydm.empsrc.DataSet.Fields[4].AsString;
combobox2.Text:=mydm.empsrc.DataSet.Fields[5].AsString;
edit4.Text:=mydm.empsrc.DataSet.Fields[6].AsString;
datetimepicker2.Date:=mydm.empsrc.DataSet.Fields[7].AsDateTime;
end;
Change:=True;//定义判断是否为修改状态的全局变量
end;
procedure TF_emp.SpeedButton3Click(Sender: TObject);
begin
if Application.MessageBox('是否删除?','提示',mb_yesno)=6 then
begin
try
mydm.empsrc.DataSet.Delete;
except//如果删除不成功将弹出以下对会框
Application.MessageBox('删除不成功!','提示',mb_ok);
end;
end;
end;
procedure TF_emp.SpeedButton4Click(Sender: TObject);
begin
Button2.Click;
Close;
end;
procedure TF_emp.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
if Button1.Enabled=True then
begin
canclose:=False;
Application.MessageBox('请点击取消或提交。','提示!',mb_ok)
end;
button2.Enabled :=true;
end;
procedure TF_emp.Button3Click(Sender: TObject);
begin
with mydm.empquery do
begin
Close;
with SQL do
begin
Clear;
Add('select*from employee where emp_id=:p0');
end;
Parameters[0].Value:=Trim(Edit5.Text);//Trim()为去空格函数
Prepared;
Open;
Button2.Enabled:=False;
end;
edit5.Clear;
end;
procedure TF_emp.Button4Click(Sender: TObject);
begin
with mydm.empquery do
begin
Close;
with SQL do
begin
Clear;
Add('select*from employee');
Add('where emp_name=:p');
end;
Parameters[0].Value:=trim(edit6.Text);
Prepared;
Open;
Button2.Enabled:=false;
end;
Edit6.clear;
end;
procedure TF_emp.FormShow(Sender: TObject);
begin
with mydm.empQuery do
begin
close;
with sql do
begin
clear;
add('select*from employee');
end;
open;
end;
button3.Enabled:=false;
button4.Enabled:=false;
end;
procedure TF_emp.Edit5Change(Sender: TObject);
begin
button3.Enabled :=true;
end;
procedure TF_emp.Edit6Change(Sender: TObject);
begin
button4.Enabled :=true;
end;
procedure TF_emp.Edit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Key=13 then
selectnext(sender as twincontrol,true,true);
end;
procedure TF_emp.Edit2KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Key=13 then
selectnext(sender as twincontrol,true,true);
end;
procedure TF_emp.ComboBox1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Key=13 then
selectnext(sender as twincontrol,true,true);
end;
procedure TF_emp.DateTimePicker1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Key=13 then
selectnext(sender as twincontrol,true,true);
end;
procedure TF_emp.Edit3KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Key=13 then
selectnext(sender as twincontrol,true,true);
end;
procedure TF_emp.ComboBox2KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Key=13 then
selectnext(sender as twincontrol,true,true);
end;
procedure TF_emp.Edit4KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Key=13 then
selectnext(sender as twincontrol,true,true);
end;
procedure TF_emp.DateTimePicker2KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Key=13 then
button1.SetFocus;
button1click(button1);
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -