2

我有一个使用ADO/MSDASQL.1提供程序的 Delphi 7 应用程序,我想知道是否可以以简单的方式“记录”发送到数据库的 SQL 查询?就像 SQL Server 中的 SQL 探查器一样?

4

2 回答 2

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;
于 2008-12-06T12:24:32.993 回答
1

我做了类似的事情,但我所有的查询都通过一个点。此时添加日志记录是一个简单的更改。另一种选择是创建一个从 TADOQuery 派生的 TLogADOQuery 类,并覆盖ExecuteSQLOpen以记录进入数据库的 SQL。然后,您将所有对 TADOQuery 的引用替换为您的新类。

于 2008-12-06T21:45:45.920 回答