是否可以在Delphi应用程序和MsAccess DB之间记录SQL查询?

时间:2008-12-06 07:34:54

标签: delphi ado

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

2 个答案:

答案 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的所有引用。