我在做一个ERP数据库应用软件,其中有个功能需要对数据进行大量分析整理,包括归类合并、计算数量、多层展开等等。中间数据不知道如何保存,如果用数组,要做到归类等数据库功能很麻烦;如果用数据库上的临时表,一来数据量大影响速度,二来多人同时操作时候会互相干扰,导致结果出错。
我在想,VB中有没有这样一种类型的变量,可以像数据库的表一样进行GROUP BY操作,可以Add,Remove?如果有,那就完美了!

解决方案 »

  1.   

    请问“如果是真正的临时表(表名前加#号)”,这个是怎么实现的?
    我说的互相干扰,就是我建立的临时表TEMP1,可能同一时间有两个人都在执行此功能,一个刚刚把临时数据写入,还没开始用,另一个就把它给清空写入新的数据了,这就造成出错了。
      

  2.   

    用命令建表 create table #TEMP1(...) 用完后删除 drop table #TEMP1
      

  3.   

    这个能不能变通下,把你临时要用的数据表放到一个rs中可以不呢??
    这样你读入数据到rs后,这个数据就在本地了。
      

  4.   

    谢谢Fanks
    njstalk,如果用rs如何以rs为数据源进行查询呢?
      

  5.   

    我是这样理解的,当 rs.open 后,rs 中就是你查询到到记录集合,我们可以把也理解成一张表,你对他进行添加  删除 查询(rs.find)操作,当然如果执行 rs.update 后改动会反应到你真实的数据库上。不过要在已经得到的记录集上再执行sql查询语句我也不清楚该怎么做了。
      

  6.   

    SQL Server、Oracle 之类的大型数据库,都有仅在当前连接内生效的临时表,多用户之间是不会干扰的。
    如果是 SQL Server 象3楼所言表名加前缀#就可以了。
      

  7.   

    vb的ado可以凭空建一个空的记录集,可以add、remove、计数,但不能group by。