共用方式為


OleDbEnumerator.GetEnumerator(Type) 方法

定義

使用特定 OLE DB 列舉程式來傳回包含目前已安裝之 OLE DB 提供者相關資訊的 OleDbDataReader,而不需要 OleDbEnumerator 類別的執行個體。

public:
 static System::Data::OleDb::OleDbDataReader ^ GetEnumerator(Type ^ type);
public static System.Data.OleDb.OleDbDataReader GetEnumerator (Type type);
static member GetEnumerator : Type -> System.Data.OleDb.OleDbDataReader
Public Shared Function GetEnumerator (type As Type) As OleDbDataReader

參數

type
Type

Type

傳回

使用特定 OLE DB 列舉程式,包含所要求 OLE DB 提供者相關資訊的 OleDbDataReader

例外狀況

提供者不支援 ISourcesRowset

在基礎提供者中已發生例外狀況。

範例

下列主控台應用程式會使用 MSDAENUM 元件來擷取所有 OLE DB 提供者的相關信息,並在控制台視窗中顯示資訊。

Imports System.Data  
Imports System.Data.OleDb  

Module Module1  

  Sub Main()  
    Dim enumerator As New OleDbEnumerator  
    Dim reader As OleDbDataReader = _  
     OleDbEnumerator.GetEnumerator(Type.GetTypeFromProgID("MSDAENUM"))  

    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.GetEnumerator(Type.GetTypeFromProgID("MSDAENUM"));  

   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("==================================");  
   }  
 }  
}  

備註

這個方法所傳回的讀取器包含下列資料列,全部都包含字串:

資料行序數 資料行 描述
0 SOURCES_NAME 原生 OLE DB 數據源或列舉值的非變異名稱。
1 SOURCES_PARSENAME 人類可讀取的名稱,可使用原生 COM 介面 IParseDisplayName 轉換成 Moniker。 對應至原生 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數據行

OLE DB 提供數個列舉值元件,包括 MSDAENUM、MSDASQL 列舉值、SQLNCLI 列舉值、SQLOLEDB 列舉值等等。 如需列舉值元件及其使用方式的詳細資訊,請參閱 OLE DB 程式設計人員參考

適用於