第 10 章:记录和流

适用于:Access 2013、Office 2013

ADO 目前提供 Recordset 对象作为访问数据源(例如关系数据库)中信息的主要方式。 但是,某些提供程序支持 RecordStream 对象作为替代或补充对象,使用这些对象可以操作提供程序提供的数据。 有关 Record 行为的细节,请参阅提供程序的文档。

记录

记录 对象实质上充当单行 Recordset。 但是, 与记录 集相比, 记录 的功能有限,并且具有不同的属性和方法。 Record 对象中数据的源可以是从提供程序返回一行数据的命令。 使用 Record 对象而不是 Recordset 对象从返回一行数据的查询接收结果,从而消除了实例化更复杂的 Recordset 对象的开销。

Record 对象可以用于另一个用途,特别是对于除传统关系数据库以外的其他数据源的提供程序,例如 Microsoft OLE DB Provider for Internet Publishing。 很多必须处理的信息不是作为数据库中的表,而是作为电子邮件系统中的邮件和现代文件系统中的文件而存在。 RecordStream 对象使您能够方便地访问在非关系数据库的数据源中存储的信息。

Record 对象可以表示和管理数据,例如文件系统中的目录和文件或电子邮件系统中的文件夹和邮件。 对于这些用途, Record 的源可以是打开的 Recordset 的当前行、绝对 URL 或与打开的 Connection 对象结合的相对 URL。

通常, Recordset 可以用来表示层次结构中的容器或父对象(如文件夹或目录)。 而 Record 可以用来返回有关父容器中一个节点(如文件或文档)的特定信息。 用 Records 来表示此类信息的主要原因是这些数据源是异构的。 这意味着,每个 Record 都可能有不同的字段集合和字段数。 而包含来自数据库的行的传统 Recordsets 是同构的,这意味着每个行都有相同的字段数和字段类型。

有关使用 Record 对象来处理提供程序(如 Internet Publishing Provider)所提供的这类异构数据的详细信息,请参阅使用 ADO for Internet Publishing

Stream 对象提供用于读取、写入和管理字节流的方法。 此字节流可能是文本或二进制,并且大小只受系统资源限制。 通常,ADO Stream 对象用于以下用途:

  • 若要包含由文件或邮件组成的文本或字节,通常需要与 Microsoft OLE DB Provider for Internet Publishing 等提供程序一起使用。 有关 Stream 对象这种用法的详细信息,请参阅 使用 ADO for Internet Publishing

可以对如下项打开 Stream 对象:

  • 用 URL 指定的简单文件。

  • 包含 Stream 对象的 RecordRecordset 的字段。

  • 表示目录或复合文件的 RecordRecordset 对象的默认流。

  • 包含简单文件的 URL 的资源字段。

  • 根本没有特定数据源。 在这种情况下,将在内存中打开 Stream 对象。 可以将数据写入其中,然后保存到另一个 Stream 或文件中。

  • Recordset 中的 BLOB 字段。

本章包含以下主题: