我用的没问题呀!你这样试试: 
if query.active then 
  query.Close;
query.sql.clear;
query.sql.add('.....');
query.sql.Open;

解决方案 »

  1.   

    if adoquery1.active then
        adoquery1.active:=false;
    adoquery1.sql.clear;
    adoquery1.sql.add('select * from xz_test2');
    adoquery1.active:=TRUE;
    我用也没有问题呀.如果实在不行就用
    try .. except 给出错的地方包上.
      

  2.   

    ado2.6的bug要下载delphi的补丁.
    在本站搜索一下"ADO"会的答案的.
      

  3.   

    你如果用的是MDAC2.6的ADO就会有此问题,这是一个Delphi5的BUG,要下一个补丁,到BORLAND的站上去看看,我的主页上也有一个:http://go.163.com/~comanche/dl/d5ado.ARJ和d5ado.A01,注意大小写,因为网易限制上传文件大小,只好用ARJ拆开,下载后用ARJ e -v d5ado解开即可。