DrNorton - Do 31.03.05 14:25
Titel: ADOConnection & Query - Statements loggen
Tach auch,
ich möchte eine Application schreiben, in der jeder Datenbankzugriff, der Daten manipuliert (INSERT,UPDATE,DELETE), in einer extra Tabelle geloggt wird. Dazu benutze ich das OnExecuteComplete-Ereignis meines ADOConnection-Obejekts. Der Code sieht so aus ...
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13:
| procedure TForm1.ADOConnExecuteComplete(Connection: TADOConnection; RecordsAffected: Integer; const Error: Error; var EventStatus: TEventStatus; const Command: _Command; const Recordset: _Recordset); var OADOLogQuery: TADOQuery; begin OADOLogQuery := TADOQuery.Create(nil); OADOLogQuery.ConnectionString := Connection.ConnectionString; OADOLogQuery.SQL.Add('insert into T_LOG(statement) values('''+ Command.CommandText +''')'); OADOLogQuery.ExecSQL; OADOLogQuery.Close; OADOLogQuery.Free; end; |
so weit so gut ...
Das Problem sind die Hochkommas für die Stringbegrenzung ... gibt es eine Methode oder Funktion mit der ich Hochkommas aus einem String escapen bzw. codieren kann ? Oder gibt es vielleicht sogar eine Komponente die ein eingenständiges Log implementiert hat ?
Im vorraus schon mal Danke für die Mühe ...
mfg
DrNorton
smiegel - Do 31.03.05 15:20
Hallo,
| Zitat: |
| Das Problem sind die Hochkommas für die Stringbegrenzung |
was meinst Du damit? Die Begrenzer im Statement? Wenn ja, dann kannst Du die doch mit
StringReplace jederzeit durch andere Zeichen ersetzen.