我有一个使用ADO/MSDASQL.1
提供程序的Delphi 7应用程序,我想知道是否可以轻松地“记录”发送到数据库的SQL查询?就像SQL Server中的SQL分析器一样?
答案 0 :(得分:6)
在您的应用程序中,您可以在TADOConnection.OnWillExecute事件中记录命令,您只需保存CommandText,但您也可以记录许多其他选项。
procedure TForm23.ADOConnection1WillExecute(Connection: TADOConnection; var
CommandText: WideString; var CursorType: TCursorType; var LockType:
TADOLockType; var CommandType: TCommandType; var ExecuteOptions:
TExecuteOptions; var EventStatus: TEventStatus; const Command: _Command;
const Recordset: _Recordset);
begin
LogToFile( CommandText );
end;
答案 1 :(得分:1)
我做了类似的事情,但我的所有疑问都经历了一个问题。此时添加日志记录是一个简单的更改。另一种选择是创建一个TTRADOQuery类,它来自TADOQuery,并覆盖 ExecuteSQL 和打开以记录进入数据库的SQL。然后用新类替换对TADOQuery的所有引用。