adocmd.CommandText:='INSERT INTO STATION (no,station) VALUES(:NO,:STATION)'如何得到真正的CommandText,想要在ADOCMD.EXECUTE前看看真正产生的语句是怎样的,有什么方法?

解决方案 »

  1.   

    showmessage(adocmd.commandtext);//这样应该可以
    ADOCMD.Execute;
      

  2.   

    先对参数付值:
    adocmd.Parameters.ParamValues['no']:=...;
    adocmd.Parameters.ParamValues['station']:=...;
    再:
    showmessage(adocmd.commandtext);//
    adocmd.execute;
      

  3.   

    showmessage(adocmd.commandtext)出来的还是有:no,:station,这两个没有被真正的参数值代替。
      

  4.   

    adocmd.Parameters.ParamByName('NO'):= 'XXX';
    adocmd.Parameters.ParamByName('STATION'):='XXX';
      

  5.   

    用事件探查器吧,如果是SQL Server的话
      

  6.   

    同意Kevin_Lmx(繁华阅尽)
    你用了事件探查器就明白是怎么回事了
      

  7.   

    Kevin_Lmx(繁华阅尽)  说的不错,但是有很多条SQL语句的话还是麻烦