试试将adoquery.active设为False。另外,不要将tdatasetprovider的resolvetodataset设为true.即采用缺省设置。

解决方案 »

  1.   

    我按你的说法做了,还是老样子。
    我很不明白,ADOQuery1我都已经删除了,出错信息还是说ADOQuery1的问题,真是活见鬼了。是不是注册表,或者COM接口里已经有了某些注册信息了?
      

  2.   

    ClientDataset1.Close; 
    ClientDataset1.CommandText:=mySQL; 
    ClientDataset1.Open; 
    我单步执行,一直到open就弹出错误,还会有打开了的数据集 
    没有关闭的可能?
      

  3.   

    与注册信息没有关系。CommandText我没有用过,我每次都是用cds.DataRequest来修改QUery的SQL语句的。
      

  4.   

    CommandText以前使用一直没有问题,我认为现在的问题是,为何ADOQuery1都已经删除了,出错信息还是说ADOQuery1:Can not perform this operation on an open dataset,也就是说,系统根本就没有理会我对ADOQuery1的删除,哪个地方依然在沿用老的属性。
      

  5.   

    你的ADOQUERY肯定是在程序中多次用到,你上次使用的语句还在执行,然后你又使用它来进行别的操作,多加个ADOQUERY试试吧!以前我也遇到过这种情况,原因就在于此。
      

  6.   

    这像是Delphi里的臭虫,你重新建个项目并且就加入这几句也许解决了。