OleDbEnumerator.GetRootEnumerator 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
傳回包含目前已安裝之 OLE DB 提供者相關資訊的 OleDbDataReader,而不需要 OleDbEnumerator 類別的執行個體。
public:
static System::Data::OleDb::OleDbDataReader ^ GetRootEnumerator();
public static System.Data.OleDb.OleDbDataReader GetRootEnumerator ();
static member GetRootEnumerator : unit -> System.Data.OleDb.OleDbDataReader
Public Shared Function GetRootEnumerator () As OleDbDataReader
傳回
包含可見 OLE DB 提供者相關資訊的 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("==================================");
}
}
}
備註
此方法傳回的讀取器包含下列資料列,其中全部都包含字串:
數據行序數 | 資料行 | 描述 |
---|---|---|
0 | SOURCES_NAME | 原生OLEDB數據源或列舉值的非變異名稱。 |
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 數據行 |
5 | SOURCES_CLSID | 人類可讀取的名稱,可使用原生 COM 介面 IParseDisplayName 轉換成 Moniker。 對應至原生 OLE DB 源數據列集所傳回的SOURCES_CLSID數據行。 |