我的代码如下:为何无法执行?
QUERY2.Close;
QUERY2.SQL.Clear;
QUERY2.SQL.Add('select identity(int,1,1) as id,FDQ,FZX,DZ,NEWFZX,NEWDZ into user_a in fzx.mdb from User0 in fzx.mdb');
QUERY2.SQL.Add('delele from user0 where id in (select min(id) from user0 group by fzx)');
QUERY2.ExecSQL;

解决方案 »

  1.   

    别把Select和Delete放在一起试试看
      

  2.   

    query好象一次只能执行一条语句,
    把select,delete两个语句分两次执行试试看
      

  3.   

    ADOQuery一次只能执行一类操作,意思是指从AdoQuery1.close,到Adoquery1.open,或Adoquery1.execsql之间只能有一类操作。如果想执行其他操作需要重新开始 。
      

  4.   

    你需要设置它的ODBC DSN数据源
      

  5.   

    query好象一次只能执行一条语句,
    把select,delete两个语句分两次执行试试看
    另外要在运行下一条语句前先将adoquery1.close; adoquery1.sql.clear;
      

  6.   

    我已经SET USER DSN 拉。
    TO FANTASYWXX:
    我单独执行一句都不行啊?
      

  7.   

    user_a in fzx.mdb 支持这样的语法吗?第一次看到
      

  8.   

    我把IN FZX。MDB去掉也不行啊
      

  9.   

    你的这句
    QUERY2.SQL.Add('select identity(int,1,1) as id,FDQ,FZX,DZ,NEWFZX,NEWDZ into user_a in fzx.mdb from User0 in fzx.mdb');
    根本就没有被执行啊!然后你就立刻加了这句
    QUERY2.SQL.Add('delele from user0 where id in (select min(id) from user0 group by fzx)');
    可以察看一下sql.text的值,是这两语句用换行符链在一起的,这时再用execsql执行,谁也不知道是什么结果。
      

  10.   

    我试过:
    ID手动加在USER0中。下面这句执行没有问题。
    QUERY2.SQL.Add('select ID,fdq,fzx,dz,newfzx,newdz into user0_TMP from User0');
    但是后面的这句一执行就死机。
    QUERY2.SQL.Add('delele from user0 where id in (select min(id) from user0 group by fzx)');
    这两句我都分开执行的。一次只执行一句。