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

傳回

OleDbDataReader A 包含可見 OLE DB 提供者的資訊。

屬性

例外狀況

該服務提供者不支援 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("==================================");  
   }  
 }  
}  

備註

此方法回傳的讀取器包含以下欄位,全部皆包含字串:

柱序數 Column 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)、Enumerator (3)。 這些值對應於原生 OLE DB 來源資料集的第 SOURCES_TYPE 欄回傳的值。
4 SOURCES_ISPARENT 僅限普查員。 若 true,表示該條目應用於 GetSourcesRowset 所呼叫的同一個列舉子,暗示該列舉也包含在子列舉中。 對應於原生 OLE DB 來源列集的第 SOURCES_ISPARENT 欄
5 SOURCES_CLSID 一個可被人類閱讀的名稱,可透過原生 COM 介面 IParseDisplayName 轉換成名稱。 對應於原生 OLE DB 來源資料集回傳的 SOURCES_CLSID 欄位。

適用於