在 VB6 中,OLE DB 游标服务允许您创建通常作为虚构的Recordset 的内容。这些只是 ADO Recordset 对象的内存中实例,Field 对象将添加到这些实例中以形成一个数据结构。您需要显式创建这些 Recordset 客户端,如清单 1 中所示;默认情况下,它们是在服务器端创建的,您在服务器上不能有离线 Recordset。
Set oRS = New ADODB.Recordset
oRS.CursorLocation = adUseClient
oRS.CursorType = adStatic
oRS.LockType = adLockBatchOptimistic
’Add a few fields
With oRS.Fields
.Append "LastName", adVarChar, 40, adFldIsNullable
.Append "FirstName", adVarChar, 40, adFldIsNullable
.Append "HireDate", adDate
End With
oRS.Open
一旦创建 Recordset,您就可以用数据填充它了。请注意,Field 集合的 Append 方法只能用于关闭的 Recordset;如果您在打开 Recordset 的 Fields 集合上或是已设置 ActiveConnection 属性的 Recordset 上调用 Append,就会导致运行时错误。清单 2 阐释了如何将数据添加到 Recordset 对象。
清单 2 中的最后两行代码阐释了如何创建索引,以使排序更加高效。(通常,您应通过一个提供初始排序的 SQL 命令来加载此类数据,但是如果数据在网格中,您可能希望允许用户通过(比如说)单击列标题来排序它。)
清单 2. 用数据填充 Recordset 对象。
’Populate with some data
oRS.AddNew Array("LastName", "FirstName", "HireDate")_
, Array("Washington", "George", "3/12/2003")
oRS.AddNew Array("LastName", "FirstName", "HireDate")_
, Array("Adams", "John", "8/5/2003")
oRS.AddNew Array("LastName", "FirstName", "HireDate")_
, Array("Jefferson", "Thomas", "4/27/2003")
oRS.Update
’Create an in-memory index
oRS.Fields("LastName").Properties("Optimize").Value _
= True
’Sort on first name
oRS.Sort = "FirstName"
创建 Recordset 的另一种方法涉及到离线 Recordset。这只是一个 Recordset 对象,它随后将连接到由于将 ActiveConnection 属性设置为 Nothing 而离线的服务器(请参见清单 3)。
清单 3. 创建离线 Recordset。
Dim objConnection As ADODB.Connection
本新闻共4页,当前在第1页 1 2 3 4
