SQL.clear;//这句前最好加个CLOSE;中间的SQL  语句自己去检查对不对ExecSQL;
    Open;//这里错了。拿掉或重新刷新  

解决方案 »

  1.   

    with query1  do
      begin
      SQL.clear;
      SQL.add('INSERT INTO "temp.db" ');
      SQL.add('SELECT  D.卡号,  D.消费日期, D.存入金额,  D.消费金额');
      SQL.add('FROM "posqd.DB" as D, "pospz.db" E');
      SQL.add('where E.卡号=D.卡号 AND E.消费日期=D.消费日期');
      SQL.add('AND E.消费金额= D.消费金额 AND E.存入金额= D.存入金额');
      Prepare;
        ExecSQL;
        Open;
      end;
      

  2.   

    有没有搞错??
    到底是exesql还是open??
    只要一个就可以啦!!
      

  3.   


    不返回结果,没必要用open
      

  4.   

    最好先close;
    不返回结果,不要用open ,只要用Execsql;