我的程序因为要动态修改TQuery的SQL查询,所以在修改前要把TQuery关闭掉。
  DmTxt.QueryEat.Close;
  DmTxt.QueryEat.SQL.Clear ;
  DmTxt.QueryEat.SQL.Add ('Select * from MyTable');
  DmTxt.QueryEat.ExecSQL;
但是在执行DmTxt.QueryEat.Close的时候就出错了。

解决方案 »

  1.   

    DmTxt是我创建的一个DataModule.应该没问题。
      

  2.   

    不是,你在ADTAMODUAL里面有没有进行连接激活啊,如果有,请关闭,还有就是,看看你的CONNECTION或者KEEPXONNECTION是不是活的!如果是,请修改一下!
    (:—)
      

  3.   

    DmTxt虽然是你创建的DataModule,也必须在你调用DmTxt.QueryEat.Close前创建啊。比较容易疏忽的就是,比如说,你的DmTxt.QueryEat.Close在某个Form的Create事件中调用,但这个Form先于DataModule创建,如果是这种情况,你要在project|option中将Datamodule设置成先于Form创建。
      

  4.   

    谢谢各位大虾。
    我的错误和hzb同志指出的一样,谢了。