![]() | Products |
| Home » Technical Support » DBISAM Technical Support » Incident Reports » Incident Reports Addressed for Version 4.13 » View Incident Report |
| Reported By: Jason Reported On: 10/14/2004 For: Version 4.12 Build 1 |
procedure TForm1.TriggerSaveLog(Kind: string;
TriggerSession: TDBISAMSession; TriggerDatabase: TDBISAMDatabase;
const Table_Name: String; CurrentRecord: TDBISAMRecord);
var LogQy :TDBISAMQuery;
begin
if Table_Name='TGLOG' then exit;
LogQy := TDBISAMQuery.Create(Application);
try
with LogQy do begin
DatabaseName := TriggerDatabase.DatabaseName;
SessionName := TriggerSession.SessionName;
sql.Clear;
sql.Add('Insert into "TGLOG" (kind,SN,RN,TgDate,TgDBName,Directory,Table_Name) ');
sql.Add(' VALUES (:kind,:SN,:RN,:TgDate,:TgDBName,:Directory,:Table_Name)');
ParamByName('kind').AsString :=Kind;
ParamByName('SN').AsInteger := CurrentRecord.fieldbyName('SN').AsInteger;
ParamByName('RN').AsInteger := CurrentRecord.RecNo;
ParamByName('TgDate').AsDateTime := now;
ParamByName('TgDBName').AsString :=TriggerDatabase.DatabaseName;
ParamByName('Directory').AsString := TriggerDatabase.Directory;
ParamByName('Table_Name').AsString := Table_Name;
ExecSQL;
end;
finally
LogQy.Free;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
var ii:integer;
begin
DBISAMTable1.close;
DBISAMTable1.EmptyTable;
DBISAMTable2.close;
DBISAMTable2.EmptyTable;
DBISAMTable2.Open;
//Test Insert
for ii := 1 to 30 do
begin
DBISAMTable2.Append;
DBISAMTable2.FieldByName('FD1').AsInteger := ii;
DBISAMTable2.Post;
end;
//Test Update
with DBISAMTable2 do begin
First;
while not eof do begin
edit;
FieldByName('FD1').AsInteger := FieldByName('FD1').AsInteger+1;
post;
Next;
end;
end;
//Test Delete
with DBISAMTable2 do begin
First;
while not eof do
delete;
end;
DBISAMTable1.open;
end;
procedure TForm1.Button2Click(Sender: TObject);
var ii:integer;
begin
DBISAMTable1.close;
DBISAMTable1.EmptyTable;
DBISAMTable2.close;
DBISAMTable2.EmptyTable;
//Test Insert
DBISAMQuery1.sql.Clear;
DBISAMQuery1.sql.Add('Insert into "TEST1" (FD1) values (:FD1)');
for ii := 1 to 30 do
begin
DBISAMQuery1.ParamByName('FD1').AsInteger := ii;
DBISAMQuery1.ExecSQL;
end;
//Test Update
with DBISAMQuery1 do begin
sql.Clear;
sql.Add('Update "TEST1" Set FD1=:FD1 where SN=:SN');
for ii := 1 to 30 do
begin
ParamByName('FD1').AsInteger := ii+1;
ParamByName('SN').AsInteger := ii;
ExecSQL;
end;
end;
//Test Delete
with DBISAMQuery1 do begin
sql.Clear;
sql.Add('Delete from "TEST1"');
ExecSQL;
end;
DBISAMTable1.open;
end;
procedure TForm1.DBISAMEngine1BeforeInsertTrigger(Sender: TObject;
TriggerSession: TDBISAMSession; TriggerDatabase: TDBISAMDatabase;
const TableName: String; CurrentRecord: TDBISAMRecord);
begin
TriggerSaveLog('BI',TriggerSession,TriggerDatabase,TableName,CurrentRecord);
end;
procedure TForm1.DBISAMEngine1BeforeUpdateTrigger(Sender: TObject;
TriggerSession: TDBISAMSession; TriggerDatabase: TDBISAMDatabase;
const TableName: String; CurrentRecord: TDBISAMRecord);
begin
TriggerSaveLog('BU',TriggerSession,TriggerDatabase,TableName,CurrentRecord);
end;
procedure TForm1.DBISAMEngine1BeforeDeleteTrigger(Sender: TObject;
TriggerSession: TDBISAMSession; TriggerDatabase: TDBISAMDatabase;
const TableName: String; CurrentRecord: TDBISAMRecord);
begin
TriggerSaveLog('BD',TriggerSession,TriggerDatabase,TableName,CurrentRecord);
end;
procedure TForm1.DBISAMEngine1AfterInsertTrigger(Sender: TObject;
TriggerSession: TDBISAMSession; TriggerDatabase: TDBISAMDatabase;
const TableName: String; CurrentRecord: TDBISAMRecord);
begin
TriggerSaveLog('AI',TriggerSession,TriggerDatabase,TableName,CurrentRecord);
end;
procedure TForm1.DBISAMEngine1AfterUpdateTrigger(Sender: TObject;
TriggerSession: TDBISAMSession; TriggerDatabase: TDBISAMDatabase;
const TableName: String; CurrentRecord: TDBISAMRecord);
begin
TriggerSaveLog('AU',TriggerSession,TriggerDatabase,TableName,CurrentRecord);
end;
procedure TForm1.DBISAMEngine1AfterDeleteTrigger(Sender: TObject;
TriggerSession: TDBISAMSession; TriggerDatabase: TDBISAMDatabase;
const TableName: String; CurrentRecord: TDBISAMRecord);
begin
TriggerSaveLog('AD',TriggerSession,TriggerDatabase,TableName,CurrentRecord);
end;
This web page was last updated on Wednesday, April 8, 2026 at 04:38 AM | Privacy Policy © 2026 Elevate Software, Inc. All Rights Reserved Questions or comments ? |

