有关 Virtual Recordset.

liyang 2000-08-10 04:10:00


各位,有没有能在内存中创建虚拟recordset或table,并且可以进行sql 语句查询的方法。

当然,ado本身有一种 none connection的recordset

即:
dim astTemp as new adodb.recordset

astTemp.CursorLocation = adUseClient
astTemp.Fields.Append "T1", adBSTR
astTemp.Fields.Append "T2", adDouble
astTemp.Fields.Append "T3", adInteger
astTemp.Open
astTemp.AddNew
astTemp(0) = "Test1"
astTemp(1) = 3.14159165
astTemp(2) = 512
astTemp.Update


但是,我要recordset有甚么用呢?

比如,我想求字段和怎么办?

un1 ,tophead,bluewater 和其他高手们请赐教!多谢。
...全文
142 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
Un1 2000-08-11
  • 打赏
  • 举报
回复
Sorry! 这个问题我不会。
killerl 2000-08-11
  • 打赏
  • 举报
回复
为什么要虚拟recordset?能详细说一说吗?
我用SQL语句很复杂的问题都能处理!
huntout 2000-08-11
  • 打赏
  • 举报
回复
可以變通一下,不一定要用表,用數組等方法就不能實現嗎?
liyang 2000-08-11
  • 打赏
  • 举报
回复
不好意思。

建立物理数据是不行的。

因为,这个应用,每5ms就要写一次数据库。如果写在硬盘上,555,可想而知!
liyang 2000-08-11
  • 打赏
  • 举报
回复
这样的。

因为我要根据每一条信息的某一个值进行排序,要根据某一个值对另一个值进行汇总。

即 select f1,sum(f2)/count(*) from table1 where f1=MyValue1 group by f1 order by f1
liyang 2000-08-11
  • 打赏
  • 举报
回复
这样的。

因为我要根据每一条信息的某一个值进行排序,要根据某一个值对另一个值进行汇总。

即 select f1,sum(f2)/count(*) from table1 where f1=MyValue1 group by f1 order by f1

共有1500条纪录
用数据库,只要1s即可。

用数组,4s以上
无言无忌 2000-08-10
  • 打赏
  • 举报
回复
就象当初FoxPro的
Select ... From ... INTO CURSOR (dbfname)... 或
Create Cursor ...
象我刚从FoxPro转到VB平台时,老想这样的方法,但让我失望的是,没有!!!

我的解决方法是:在本地建立一物理数据,但它的作用永远是供暂时存数据用,用完即删并定期对其进行压缩以回收磁盘空间。

如果是单纯的求和可用单纯的sql语句进行
Select Sum(...),Count(...) From ... Where ...
它会自动建立虚拟的表,用完自动删除,详细说明可参阅相关HELP或MSDN!

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧