##是永久臨時表,在Connection =nothing時不會自己消失.
需要你去drop它.
如果是#就會在Connection =nothing時自己消失.

解决方案 »

  1.   

    to hzslx(时某人):什么回答,我不懂啊!to newyj(老鬼):
      thanks you,我创建的就是 ## 临时表,仍然消失! to zhuzhichao(竹之草):
      thank you, 事实上在无论 # 还是##表,在Connection =nothing后就消失了to zdgdh(老吴子):
      thank you, 在调试环境,当执行到 cn.close,  set cn=nothing 时,  vb 环境外就无法查询该##临时表了.  在编译后, 只要该连接从绥冲池清除 , 就无法查询.
      我认为这是ado 的一个 bug, 也可能是我太笨. 我搞的是三层结构,中间层每个访问数据库的方法都会创建连接对象,在方法返回前清除连接对象. 如果全局临时表依存连接对象存在而存在,那还有什么意义呢? 
       还望各位朋友共同探讨,指点迷津.  
      

  2.   

    ##当然有意义了,在一个连接中,
    如果有一个存储过程,假设如下:
    create proc P1
    as
    create table #abc
    (....)
    做其他工作
    end则该存储过程结束后,#abc也消失了
    如果是##abc,则暂时不会消失,
    你可以在同一个连接内查询(当然也可以在存储过程内)##abc因此,这对做临时报表是有效的,可以在存储过程结束后,
    做后期加工当然,以上必须是在同一个连接内有效
      

  3.   

    我已经彻底明白ADO 中临时表的的作用了,谢谢各位! 我已经在数据库中新建一个表用于所有的客户机共享临时数据. 客户机共享数据有这几种方法: 服务器的磁盘文件,   COM+ 的属性集, 注册表, 数据库. 我想不出其它方法了, 对于大量数据只有使用数据库表了.