关于Recordset 持久性的一点点研究

80酷酷网    80kuku.com

  

使用记录集持久性,可以将 Recordset 数据和元数据保存为文件。随后,使用持久文件来重新建立 Recordset 对象。持久文件可以保存在本地驱动器、网络服务器上或者作为 URL 保存在 Web 站点上。

另外,GetString 方法将 Recordset 对象转换成表单,在表单中列和行使用指定的字符分界。

今天看资料时发现了这个东东,不知道以前有人使用过没,刚随便写了2个小例子,可以将数据记录集作为文件(ADTG)保存在硬盘上,使用的时候可以直接打开文件进行记录操作,这样就可以把一些常用的记录集保存起来,使用的时候就不用烦琐的打开数据库,查询表,可以直接打开数据图表文件,岂不是省事多了,没有做更多的测试和研究,写出来让大家都来看看。互相学习学习。

:创建数据视图文件.RsSave.asp
<%
Dim DBPATH
Dim Conn,Rs
DBPATH = Server.MapPath( "Test.mdb" )
Set Conn = New ConnEx  ‘ConnEx是一个自己写的类,集合了一些对数据库操作的方法,以前发过的
Conn.DBpath = DBPATH
Conn.Init()
Set Rs = Conn.GetRsBySql( "Select * from admin" )  '返回记录集
Rs.Save Server.MapPath(".")&"\yourFile.adtg", adPersistADTG  '创建数据视图在当前目录,不过创建的时候最好先判断一下文件是否存在,否则会报错的.~_~
Rs.Close
Set Rs = Nothing
Set Conn = Nothing
%>

:使用数据试视图文件 RsOpen.asp
<%
Dim DBPATH
Dim Rs
Set Rs = Server.CreateObject( "Adodb.RecordSet" )
Rs.Open Server.MapPath(".")&"\yourFile.adtg" ', adPersistADTG ’打开数据视图文件,详细说明见附录
'Rs.MoveNext
Response.Write( Rs(1) ) '这里使用就和使用普通的记录集一样方便(不完全测试,希望有人能完全测试一下,谢了),HOHO,方便吧
Rs.Close
Set Rs = Nothing
%>

详细资料

Microsoft OLE DB Persistence Provider 支持使用 Recordset 对象 Save 方法将 Recordset 对象保存在文件中。随后,使用 Recordset 对象的 Open、或 Connection 对象的 Execute 方法可恢复持久文件。

Recordset 对象被转换为能被保存在文件中的表单。Recordset 对象可以按所拥有的高级数据图表 (ADTG) 格式保存,或者按打开的可扩展标记语言 (XML) 格式保存。

挂起更改保存在持久文件中。因此,可以发布查询返回 Recordset 对象、编辑记录集、保存该记录集和挂起变化、以后恢复该记录集、然后使用保存的挂起变化更新数据源。

用法

保存记录集:

Dim rs as New ADODB.Recordset
rs.Save "c:\yourFile.adtg", adPersistADTG

使用 Recordset.Open 打开持久文件:

dim rs as New ADODB.Recordset
rs.Open "c:\yourFile.adtg", "Provider=MSPersist",,,adCmdFile

可选地,如果 Recordset 没有活动的连接,则都可以接受所有的默认值和简单的代码:

dim rs as New ADODB.Recordset
rs.Open "c:\yourFile.adtg"

使用 Connection.Execute 打开持久文件:

dim conn as New ADODB.Connection
dim rs as New ADODB.Recordset
conn.Open "Provider=MSPersist"
set rs = conn.execute("c:\yourFile.adtg")

使用 RDS.DataControl 打开持久文件:

在这种情况下,没有设置 Server 属性。

Dim dc as New RDS.DataControl
dc.Connection = "Provider=MSPersist"
dc.SQL = "c:\yourFile.adtg"
dc.Refresh

分享到
  • 微信分享
  • 新浪微博
  • QQ好友
  • QQ空间
点击: