(我假设你用的是SQL SERVER)
首先,临时表是要以#号或##号打头的,你在CREATE的时候知道,为什么后面就忘了呢?
其次,在SQL SERVER中临时表只在能一个会话(SESSION)期内有效(全局临时表除外),像你上面的代码是不行的,你可以考虑在存储过程中实现。

解决方案 »

  1.   

    用的什么数据库?
    是不是应该将temptable 换为tempdb.temptable?
      

  2.   

    使用##temptable,当你断开时才删掉
      

  3.   

    创建时使用##temptable,
    访问时使用##temptable,我试过了
      

  4.   

    如果你的数据库是ms sql 
    这句的sql语法错误:DataModule1.adoquery1.SQL.Add('select 货物代码,货物名称 from 出仓单明细表 insert into temptable ')
    应该为:DataModule1.adoquery1.SQL.Add('insert #temptable select  货物代码,货物名称 from 出仓单明细表 ') //这是你已经在前边创建了#temptable 临时表的情况下,如果没有创建#temptable,也可以用select into语句一步实现同时创建临时表和添加记录到临时表里