说明:使用诸如DBGrid之类的数据感知控件进行数据显示与编辑时,数据修改后的结果自动保存到数据库了,但实际上它这个动作也是在其内部生成SQL语句对数据库进行操作而已,那问题在于,我们怎样才能得到它真正执行的SQL语句呢?

解决方案 »

  1.   

    WITH DBGridEh1.DataSource.DataSet AS TADOQuery DO BEGIN
        ShowMessage(SQL.Text)
      END;
      

  2.   

    请问这个过程要放在哪个事件的触发中?
    **我要得到的是在Grid中修改数据时SQL的更新语句**
      

  3.   

    如果你用的是ADO进行数据库连接,那么ADO的数据集组件会自动产生action Sql的语句去更新数据,具体可参考李维的<高效率数据库开发ADO MTS/COM+>这本书,其中讲得很祥细。
    如果你只是想看看它执行的sql语句可打开sql server 监视器则可看到
      

  4.   

    **我要得到的是Grid中修改数据时控件本身自动产生的SQL更新语句**
    to:qzxyd
    我使用的是Access,也可以监视吗?
      

  5.   

    用bde做的么,是的话,试试delphi带的sql monitor
      

  6.   

    不是DBE,是ADO,
    没人知道么?