📄 updateform.pas
字号:
unit UpdateForm;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
IBDatabase, Db, IBCustomDataSet, IBUpdateSQL, IBQuery, DBTables,
ExtCtrls, DBCtrls, Grids, DBGrids, DBActns, ActnList, ComCtrls, ToolWin;
type
TForm1 = class(TForm)
EmpDS: TDataSource;
IBQuery1: TIBQuery;
IBUpdateSQL1: TIBUpdateSQL;
IBDatabase1: TIBDatabase;
IBTransaction1: TIBTransaction;
DBGrid1: TDBGrid;
IBDataSet1: TIBDataSet;
ActionList1: TActionList;
DataSetCancel1: TDataSetCancel;
DataSetDelete1: TDataSetDelete;
DataSetEdit1: TDataSetEdit;
DataSetFirst1: TDataSetFirst;
DataSetInsert1: TDataSetInsert;
DataSetLast1: TDataSetLast;
DataSetNext1: TDataSetNext;
DataSetPost1: TDataSetPost;
DataSetPrior1: TDataSetPrior;
DataSetRefresh1: TDataSetRefresh;
acCommit: TAction;
acRollback: TAction;
ToolBar1: TToolBar;
ToolButton1: TToolButton;
ToolButton2: TToolButton;
ToolButton3: TToolButton;
ToolButton4: TToolButton;
ToolButton5: TToolButton;
ToolButton6: TToolButton;
ToolButton7: TToolButton;
ToolButton8: TToolButton;
ToolButton10: TToolButton;
ToolButton11: TToolButton;
ToolButton12: TToolButton;
ToolButton9: TToolButton;
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure ActionUpdateTransactions(Sender: TObject);
procedure acCommitExecute(Sender: TObject);
procedure acRollbackExecute(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
uses
Registry;
procedure TForm1.FormCreate(Sender: TObject);
var
Reg: TRegistry;
begin
Reg := TRegistry.Create;
try
Reg.RootKey := HKEY_LOCAL_MACHINE;
Reg.OpenKey('\Software\Borland\Borland Shared\Data', False);
IBDatabase1.DatabaseName := Reg.ReadString('Rootdir') + '\employee.gdb';
finally
Reg.Free;
end;
EmpDS.DataSet.Open;
end;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
var
nCode: Word;
begin
if IBTransaction1.InTransaction then
begin
nCode := MessageDlg ('Commit Transaction? (No to rollback)',
mtConfirmation, mbYesNoCancel, 0);
case nCode of
mrYes: IBTransaction1.Commit;
mrNo: IBTransaction1.Rollback;
mrCancel: Action := caNone; // don't close
end;
end;
end;
procedure TForm1.ActionUpdateTransactions(Sender: TObject);
begin
acCommit.Enabled := IBTransaction1.InTransaction;
acRollback.Enabled := acCommit.Enabled;
end;
procedure TForm1.acCommitExecute(Sender: TObject);
begin
IBTransaction1.CommitRetaining;
end;
procedure TForm1.acRollbackExecute(Sender: TObject);
begin
// or: IBTransaction1.RollbackRetaining;
IBTransaction1.Rollback;
IBTransaction1.StartTransaction;
EmpDS.DataSet.Open;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -