OleDbEnumerator.GetEnumerator(Type) 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
使用特定 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
參數
傳回
使用特定 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 程式設計人員參考。