VB 版 (精华区)
发信人: zxfsnow (希望的春天), 信区: VB
标 题: 深入ADO5
发信站: 哈工大紫丁香 (2000年06月05日12:35:34 星期一), 转信
发信人: ming (drwxr-x---), 信区: VB
标 题: 深入ADO(5)
发信站: 虎踞龙盘东南站 (Tue Nov 2 10:36:37 1999), 转信
记录集的延续和缓冲
几个月前,一个读者给我发了个EMAIL,这里面有个很奇怪的问题。他说 “我喜欢象
记录集这样的结构,并且我在任何时候都用它们。ADO记录集可以用来进行对数据的缓
冲而不需要涉及到数据库连接或者,甚至OLE DB提供者?”我迅速对此回答: “不,我
认为你不能这样做。记录集无论如何都需要一个连接。”
通过更进一步的思考,我觉得他说到了最重要的问题上。ADO记录集是个灵活的,最
优的数据结构。它们能跟OLE DB数据库很好的工作,但是遗憾的是你并不能在任何你需
要一个强大的使用方便数据结构的时候使用它们。但这里有个好消息。ADO 2。0给你提
供了针对这一问题的新特性。Field集提供了相当新的Append方法,它能在最初就创建
一个记录集。
Dim RS As New ADODB.Recordset
RS.CursorLocation = adUseClient
RS.Fields.Append “Name”, adBSTR
RS.Fields.Append “City”, adBSTR
RS.Open
RS.AddNew
RS!Name = “DinoE”
RS!City = “Redmond”
这里是一个ADO记录集,它就没有数据库连接和OLE DB的概念。ADO记录集总归是个独
立的对象了。要紧的是你所选择的客户指针以及将你的新的域添加到记录集的Fields集
中去。Append方法需要两个非选择性的参数:域名和类型。如果你想要字符串的话那就
用adBSTR。
如果是这样的话,想象使用它的应用程序是个直接的办法。如:你可以写代码读你的
老的所有者文件并将它们的数据转到记录集中。
这只是一个由磁盘文件创建记录集的方法。ADO 2。0增加了对记录集的延续性的支持
。实际上,你有了个名为Save的新方法,它带有两个参数:输出文件名和数据格式。
Dim rs As New ADODB.Recordset
rs.adUseClient
rs.Save “c:\demo.rst”, adPersistADTG
目前,只有adPersistADTG(也就是零)是允许的。只有打开的记录集才能执行存储
。存储的数据也可能会受你所使用的过滤器的影响。注意在记录集关闭前该方法不会关
闭文件的。在这中间,文件是作为只读方式访问的。这使得ADO应用程序用Save方法来
创建平行且延续的缓冲变得更容易了。如果该文件已经存在了,Save方法返回一个错误
,并准备执行一个工作环境。而且,该方法将当前行的位置移到第一个记录处。它将所
有与记录集相关的东西(包括数据和和图表)都存到磁盘上。然而,它并不存储连接和
命令信息。这将Save和GetString区分开来,并使得应用程序能加载先前存入的记录集
。使用的方法是:
rs.Open “c:\demo.rst”
再次说明:使用客户端指针对于你来说是重要的。
--
每一刻都存在,不一样的精彩
--
以科计为本,以产业报国!
超越自我,飞跃无限!
※ 来源:·哈工大紫丁香 bbs.hit.edu.cn·[FROM: 202.118.235.249]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:3.994毫秒