2008-12-06 41 views

回答

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; 
+0

我只能登錄選擇這種方式,我如何登錄其他類型的查詢? – arthurprs 2010-02-27 16:22:00

1

我做了類似的事情,但是我所有的疑問都經過了一個點。在這一點上添加日誌記錄是一個簡單的改變。另一種選擇是創建TADOQuery類的TLogADOQuery類,並覆蓋ExecuteSQL打開來記錄SQL去數據庫。然後,將所有對TADOQuery的引用替換爲新類。

相關問題