Query1.SQL.Clear;
Query1.SQL.Add('select * into "c:\sjsgf.dbf" from "h:\qs\sjsgf.dbf" where gfgddm in (select stock_a005 from "h:\qshbf\stockacc")');
Query1.Open;

解决方案 »

  1.   

    运行时报错:Invalid use of keyword token:into
      

  2.   

    insert "c:\sjsgf.dbf" select * from "h:\qs\sjsgf.dbf" where gdgddm in (select...)
    可以吗?
      

  3.   

    看不懂你的sql语句
    "select * into "这是什么啊
      

  4.   

    insert into "c:\sjsgf.dbf" select * from "h:\qs\sjsgf.dbf" where gdgddm in (select stock_a005 from "h:\qshbf\stockacc")我试过了,可以的。
      

  5.   

    我也是的,所以看到sjsgf什么的,哈哈.
    另外,我印象里select into是用来创建一个表的,你那个c:\sjsgf.dbf是不是已经存在?不能肯定,不过insert一定是可以的.
      

  6.   

    至少在sql中,select into是不能对已存在的表进行插入操作的.
      

  7.   

    我说一下:'select * into "c:\sjsgf.dbf" from "h:\qs\sjsgf.dbf" where gfgddm in (select stock_a005 from "h:\qshbf\stockacc"和
    insert into "c:\sjsgf.dbf" select * from "h:\qs\sjsgf.dbf" where gdgddm in (select stock_a005 from "h:\qshbf\stockacc")这两句语句的意思是不一样的!前一句的意思是要建立一个原来不存在的表,后一句是插入一个已经存在的表记录!
      

  8.   

    我知道这两者的区别,而且在C盘不存在那个我要新建的文件。我在SQL环境中操作SAL表,用这两个语句都没有问题。可在DELPHI和FOXPRO中就不行了。
    多交流呀!
      

  9.   

    奇了怪了。在我这里又报错:
    Project XXX raised exception class ENoResultSet with message‘Error
    creating cursor handle’。Process Stopped。Use Step or Run to
    Continune。
    怎么回事呀!!!!
      

  10.   

    明白了!
    : Query执行inser和delete方法应该用Query.ExeSQL
    : 而不能用open