OleDbEnumerator.GetRootEnumerator 方法

定义

返回一个 OleDbDataReader 包含有关当前安装的 OLE DB 提供程序的信息,而无需类的 OleDbEnumerator 实例。

public:
 static System::Data::OleDb::OleDbDataReader ^ GetRootEnumerator();
[System.Diagnostics.CodeAnalysis.RequiresDynamicCode("OleDbConnection is not AOT-compatible.")]
public static System.Data.OleDb.OleDbDataReader GetRootEnumerator();
public static System.Data.OleDb.OleDbDataReader GetRootEnumerator();
[<System.Diagnostics.CodeAnalysis.RequiresDynamicCode("OleDbConnection is not AOT-compatible.")>]
static member GetRootEnumerator : unit -> System.Data.OleDb.OleDbDataReader
static member GetRootEnumerator : unit -> System.Data.OleDb.OleDbDataReader
Public Shared Function GetRootEnumerator () As OleDbDataReader

返回

包含有关可见 OLE DB 提供程序的信息的 A OleDbDataReader

属性

例外

提供程序不支持 ISourcesRowset。

基础提供程序中发生异常。

示例

以下控制台应用程序检索有关所有可见的 OLE DB 提供程序的信息,并在控制台窗口中显示信息。

Imports System.Data  
Imports System.Data.OleDb  

Module Module1  

  Sub Main()  
    Dim enumerator As New OleDbEnumerator  
    Dim reader As OleDbDataReader = OleDbEnumerator.GetRootEnumerator()  

    DisplayData(reader)  

    Console.WriteLine("Press any key to continue.")  
    Console.ReadKey()  
  End Sub  

  Private Sub DisplayData(ByVal reader As OleDbDataReader)  
    While reader.Read()  
      For i As Integer = 0 To reader.FieldCount - 1  
        Console.WriteLine("{0} = {1}", _  
         reader.GetName(i), reader.GetValue(i))  
      Next  
      Console.WriteLine("==================================")  
    End While  

  End Sub  
End Module  
using System;  
using System.Data;  
using System.Data.OleDb;  

class Program  
{  
 static void Main()  
 {  
   OleDbDataReader reader = OleDbEnumerator.GetRootEnumerator();  

   DisplayData(reader);  

   Console.WriteLine("Press any key to continue.");  
   Console.ReadKey();  
 }  

 static void DisplayData(OleDbDataReader reader)  
 {  
   while (reader.Read())  
   {  
     for (int i = 0; i < reader.FieldCount; i++)  
     {  
       Console.WriteLine("{0} = {1}",  
        reader.GetName(i), reader.GetValue(i));  
     }  
     Console.WriteLine("==================================");  
   }  
 }  
}  

注解

此方法返回的读取器包含以下列,所有这些列都包含字符串:

列序号 Description
0 SOURCES_NAME 本机 OLEDB 数据源或枚举器的固定名称。
1 SOURCES_PARSENAME 可以使用本机 COM 接口 IParseDisplayName 转换为名字对象的用户可读名称。 对应于本机 OLE DB 源行集返回的SOURCES_PARSENAME列。
2 SOURCES_DESCRIPTION 本机 OLE DB 数据源的说明。 对应于本机 OLE DB 源行集返回的SOURCES_DESCRIPTION列。
3 SOURCES_TYPE 下列枚举成员之一:Binder (0)、DataSource_MDP (1)、DataSource_TDP (2)、枚举器 (3)。 这些值对应于本机 OLE DB 源行集SOURCES_TYPE列中返回的值。
4 SOURCES_ISPARENT 仅适用于枚举器。 如果 true为 ,则表示该条目适用于调用 GetSourcesRowset 的同一枚举器,这意味着该条目也包含在子枚举中。 对应于本机 OLE DB 源行集SOURCES_ISPARENT列
5 SOURCES_CLSID 一个人类可读的名称,可以使用本机 COM 接口 IParseDisplayName 转换为名字对象。 对应于本机 OLE DB 源行集返回的SOURCES_CLSID列。

适用于