日期:2011-05-26  浏览次数:20746 次

微软使得将ActiveX数据对象(ADO)的Recordset作为XML在ADO 2.1里保存成为可能。这对于将Recordset保存在客户计算机上用于脱机使用很有用处。如果你希望通过可扩展样式表语言转换(XSLT)来操控Recordset的数据,那么这一能力也是很有用的。

 
要将Recordset作为XML来保存,就要调用Save方法,并将目标文件及adPersistXML标志进行传递:

Dim rst As Recordset

Set rst = New Recordset
rst.ActiveConnection = "PROVIDER=SQLOLEDB;DATA SOURCE=SQLServer;" & _
                       "Initial Catalog=pubs;Integrated Security=SSPI"
rst.CursorLocation = adUseClient
rst.Open "Select * from authors where au_lname = 'Smith'"
rst.SaveApp.Path & "\recordset.xml", adPersistXML
rst.Close

如果所指定的文件命已经存在,那么对Save方法的调用就会导致一个运行错误。

要打开已经保存的Recordset,就要将文件名传递给Recordset的Open方法。设置ActiveConnection属性能够让你将Recordset保存会数据库里:

Dim rst As Recordset

Set rst = New Recordset
rst.CursorLocation = adUseClient
rst.OpenApp.Path & "\recordset.xml"
rst.ActiveConnection = "PROVIDER=SQLOLEDB;DATA SOURCE=SQLServer;" & _
                       "Initial Catalog=pubs;Integrated Security=SSPI"

MsgBoxrst.RecordCount