📄 insert.pas
字号:
unit Insert;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, DBTables, StdCtrls, Grids, DBGrids;
type
TForm1 = class(TForm)
DBGrid1: TDBGrid;
GroupBox1: TGroupBox;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
Edit5: TEdit;
Edit6: TEdit;
Button1: TButton;
Button2: TButton;
Button3: TButton;
Query1: TQuery;
DataSource1: TDataSource;
Query2: TQuery;
Button4: TButton;
Button5: TButton;
procedure Query1AfterOpen(DataSet: TDataSet);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
Choose:String;
implementation
{$R *.dfm}
procedure TForm1.Query1AfterOpen(DataSet: TDataSet);
begin
edit1.Text:=Query1.FieldByName('EmpNo').AsString;
edit2.Text:=Query1.FieldByName('LastName').AsString;
edit3.Text:=Query1.FieldByName('FirstName').AsString;
edit4.Text:=Query1.FieldByName('PhoneExt').AsString;
edit5.Text:=DateTimeToStr(Query1.FieldByName('HireDate').AsDateTime);
edit6.Text:=FloatToStr(Query1.FieldByName('Salary').AsFloat);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
edit1.Enabled:=True;
edit2.Enabled:=True;
edit3.Enabled:=True;
edit4.Enabled:=True;
edit5.Enabled:=True;
edit6.Enabled:=True;
Button2.Enabled:=True;
Button3.Enabled:=True;
Button1.Enabled:=False;
Button4.Enabled:=False;
Button5.Enabled:=False;
Choose:='Update';
end;
procedure TForm1.Button2Click(Sender: TObject);
var
Location:String;
begin
if (Choose='Update') then
begin
Location:=edit1.Text;
with Query2 do
begin
SQL.Clear;
SQL.Add('update employee');
SQL.Add('set EmpNo='''+edit1.Text+'''');
SQL.Add(',LastName='''+edit2.Text+'''');
SQL.Add(',FirstName='''+edit3.Text+'''');
SQL.Add(',PhoneExt='''+edit4.Text+'''');
SQL.Add(',HireDate=:HD');
SQL.Add(',Salary=:SY ');
SQL.Add('Where EmpNo='+''''+Query1.FieldByName('EmpNo').AsString+'''');
ParamByName('HD').AsDateTime:=StrToDateTime(edit5.Text);
ParamByName('SY').AsFloat:=StrToFloat(edit6.Text);
ExecSQL;
end;
Query1.Close;
Query1.Open;
Query1.Locate('EmpNo',Location,[loPartialKey]);
edit1.Enabled:=False;
edit2.Enabled:=False;
edit3.Enabled:=False;
edit4.Enabled:=False;
edit5.Enabled:=False;
edit6.Enabled:=False;
Button2.Enabled:=False;
Button3.Enabled:=False;
Button1.Enabled:=True;
Button4.Enabled:=True;
Button5.Enabled:=True;
MessageBox(Application.Handle,'修改成功','提醒',MB_OK OR MB_ICONINFORMATION);
end;
if (Choose='Insert') then
begin
with Query2 do
begin
SQL.Clear;
SQL.Add('Insert into employee (EmpNo,LastName,FirstName,PhoneExt,HireDate,Salary)');
SQL.Add('Values(:no,:lname,:fname,:phone,:hd,:sy)');
ParamByName('no').AsInteger:=StrtoInt(Edit1.Text);
ParamByName('lname').AsString:=Edit2.Text;
ParamByName('fname').AsString:=Edit3.Text;
ParamByName('phone').AsString:=Edit4.Text;
ParamByName('hd').AsDateTime:=StrToDateTime(Edit5.Text);
ParamByName('sy').AsFloat:=StrToFloat(Edit6.Text);
ExecSQL;
end;
Query1.Close;
Query1.Open;
edit1.Enabled:=False;
edit2.Enabled:=False;
edit3.Enabled:=False;
edit4.Enabled:=False;
edit5.Enabled:=False;
edit6.Enabled:=False;
Button2.Enabled:=False;
Button3.Enabled:=False;
Button4.Enabled:=True;
Button5.Enabled:=True;
Button1.Enabled:=True;
MessageBox(Application.Handle,'增加成功','提醒',MB_OK OR MB_ICONINFORMATION);
end;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Query1.DatabaseName:='DBDEMOS';
Query2.DatabaseName:='DBDEMOS';
with Query1 do
begin
SQL.Clear;
SQL.Add('Select * from employee');
Close;
Open;
end;
end;
procedure TForm1.Button3Click(Sender: TObject);
var
i:integer;
begin
i:=MessageBox(Application.Handle,'您确定要取消此次操作吗?','提醒',MB_YESNO OR MB_ICONWARNING);
if i=6 then
begin
Query1AfterOpen(Query1);
edit1.Enabled:=False;
edit2.Enabled:=False;
edit3.Enabled:=False;
edit4.Enabled:=False;
edit5.Enabled:=False;
edit6.Enabled:=False;
Button2.Enabled:=False;
Button3.Enabled:=False;
Button1.Enabled:=True;
Button4.Enabled:=True;
Button5.Enabled:=True;
end;
end;
procedure TForm1.Button4Click(Sender: TObject);
begin
edit1.Enabled:=True;
edit2.Enabled:=True;
edit3.Enabled:=True;
edit4.Enabled:=True;
edit5.Enabled:=True;
edit6.Enabled:=True;
edit1.Text:='';
edit2.Text:='';
edit3.Text:='';
edit4.Text:='';
edit5.Text:='';
edit6.Text:='';
Button2.Enabled:=True;
Button3.Enabled:=True;
Button4.Enabled:=False;
Button1.Enabled:=False;
Button5.Enabled:=False;
Choose:='Insert';
end;
procedure TForm1.Button5Click(Sender: TObject);
var
i:Integer;
begin
i:=MessageBox(Application.Handle,'您确定要删除该条记录吗','提醒',MB_YESNO OR MB_ICONWARNING);
if i=6 then
begin
with Query2 do
begin
SQL.Clear;
SQL.Add('delete from employee ');
SQL.Add('where EmpNo='''+Query1.FieldByName('EmpNo').AsString+'''');
ExecSQL;
end;
Query1.Close;
Query1.Open;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -