记录和流媒体

ADO 当前提供 Recordset 对象作为访问数据源中信息的主要方法,例如关系数据库。 但是,某些提供程序支持 记录 对象,作为可以操作提供程序数据的替代或补充对象。 有关 记录 行为的详细信息,请参阅提供商的文档。

记录

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

记录 对象可以用于其他用途,尤其是在传统关系数据库之外的数据源提供程序中,例如 Microsoft OLE DB Provider for Internet Publishing。 需要处理的许多信息并不是以数据库中的表格形式存在,而是以电子邮件系统中的邮件和现代文件系统中的文件形式存在。 记录Stream 对象有助于访问存储在关系数据库以外的源中的信息。

Record 对象可以表示和管理文件系统中的目录和文件或电子邮件系统中的文件夹和邮件等数据。 出于这些目的,Record 的来源可以是打开的 Recordset的当前行,一个绝对 URL,或者结合打开的 连接对象 使用的相对 URL。

通常,Recordset 可用于表示层次结构中的容器或父级,例如文件夹或目录。 记录 可用于返回有关父容器中的一个节点(例如文件或文档)的特定信息。 记录 用于表示这种类型的信息的主要原因是这些数据源是异类的。 这意味着每个 记录 可能有不同的字段集和数量。 传统的 记录集 包含数据库中的行是同质的,这意味着每一行具有相同的字段数和类型。

有关使用 Record 对象处理来自提供程序(如 Internet 发布提供程序)的异类数据的详细信息,请参阅 使用 ADO 进行 Internet 发布

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

  • 要包含以 XML 格式保存的 Recordset 数据。 在打开新的 记录集时,这些来自已保存的 记录集的 XML 流可以用作源。 有关详细信息,请参阅 流和持久性

  • 为了包含要对提供程序执行的 CommandStreams,作为 CommandText的替代方案。 例如,XML UpdateGrams 可用作针对 SQL Server 的 Microsoft OLE DB 提供程序的命令的源。

  • 若要以 Recordset以外的格式从提供程序接收结果,例如来自 Microsoft OLE DB Provider for SQL Server 的 XML 结果。 有关更多信息,请参阅 将结果集导入流

  • 若要包含构成文件或消息的文本或字节,通常与Microsoft OLE DB Provider for Internet Publishing 等提供程序一起使用。 有关 Stream 对象的此用法的详细信息,请参阅 使用 ADO 进行 Internet 发布

可以打开 Stream 对象:

  • 使用 URL 指定的简单文件。

  • 包含 Stream 对象的字段位于 RecordRecordset 中。

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

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

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

  • Recordset中的 BLOB 字段。

本节包含以下主题。