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 содержащий сведения о видимых поставщиках 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("==================================");
}
}
}
Комментарии
Средство чтения, возвращаемое этим методом, содержит следующие столбцы, все из которых содержат строки:
| Порядковый номер столбца | Столбец | Description |
|---|---|---|
| 0 | SOURCES_NAME | Инвариантное имя собственного источника данных OLEDB или перечислителя. |
| 1 | SOURCES_PARSENAME | Понятное для человека имя, которое можно преобразовать в моникер с помощью собственного COM-интерфейса IParseDisplayName. Соответствует столбцу SOURCES_PARSENAME, возвращаемого собственным набором строк источников OLE DB. |
| 2 | SOURCES_DESCRIPTION | Описание собственного источника данных OLE DB. Соответствует столбцу SOURCES_DESCRIPTION, возвращаемого собственным набором источников OLE DB. |
| 3 | SOURCES_TYPE | Один из следующих элементов перечисления: Binder (0), DataSource_MDP (1), DataSource_TDP (2), Перечислитель (3). Они соответствуют значениям, возвращаемым в столбце SOURCES_TYPE собственного набора строк источников OLE DB. |
| 4 | SOURCES_ISPARENT | Применимо только к перечислителям. Если true, указывает, что запись применяется к тому же перечислителю, на котором был вызван GetSourcesRowset, подразумевая, что она также включена в под перечисление. Соответствует столбцу SOURCES_ISPARENT собственного набора источников OLE DB |
| 5 | SOURCES_CLSID | Понятное имя, которое можно преобразовать в моникер с помощью собственного COM-интерфейса IParseDisplayName. Соответствует столбцу SOURCES_CLSID, возвращаемого собственным набором строк источников OLE DB. |