连接数据库用的是ADOConnection,ADOQuery.
要在程序中监视执行了什么SQL语句.
不要说是ADOQuery.SQL.Text,因为有多个,
不能一个个去监视,最好能在ADOConnection上想办法。
而且修改数据后ADOQuery.Post时ADOQuery.SQL.Text和实际执行的语句也不同。
请各位大虾帮帮忙,应该如何提取程序中执行的SQL语句。
类似于事件探查器的功能,不过不能用事件探查器去跟踪,因为要在程序中实现时刻监视。

解决方案 »

  1.   

    ADOConnection   也行
    AdoQuery 就在 AfterOpen  裏執行下  SHowMessage(AdoQuery.sql.text); // 當然用的時候應該是直接寫入文件
      

  2.   

    你没认真看我的问题,
    AdoQuery.sql.text不能满足要求。
      

  3.   

    在ADOConnection的ExecuteComplete事件中写edit1.Text:=Command.CommandText;
      

  4.   

    还是没明白我的意思
    假如ADOQuery里有一条记录
    随便举个例子SQL: select top 1 * from jobs
    如果我修改了一个字段,
    ADOQuery.Edit;
    ADOQuery.FieldByName('sFld').AsString:= sValue;
    ADOQuery.Post;
    这样保存.
    这时如果在事件探查器里跟踪的话应该有update...这样的语句
    可Command.CommandTest能得到update语句吗?
    我想要得到的是真正执行的SQL语句。