OleDbEnumerator.GetEnumerator(Type) Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Использует конкретный перечислитель OLE DB для возврата объекта OleDbDataReader, содержащего сведения об установленных в текущий момент поставщиках OLE DB, без требования экземпляра класса 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
Параметры
Возвращаемое значение
Объект OleDbDataReader, содержащий сведения о запрошенных поставщиках OLE DB с помощью заданного перечислителя OLE DB.
Исключения
Поставщик не поддерживает 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. Соответствует столбцу SOURCES_PARSENAME, возвращаемому собственным набором строк источников OLE DB. |
2 | SOURCES_DESCRIPTION | Описание собственного источника данных OLE DB. Соответствует столбцу SOURCES_DESCRIPTION, возвращаемому собственным набором строк источников OLE DB. |
3 | SOURCES_TYPE | Один из следующих элементов перечисления: Binder (0), DataSource_MDP (1), DataSource_TDP (2), Enumerator (3). Они соответствуют значениям, возвращаемым в столбце SOURCES_TYPE собственного набора строк источников OLE DB. |
4 | SOURCES_ISPARENT | Применимо только к перечислителям. Значение true указывает, что запись применяется к тому же перечислительу, для которого был вызван Метод GetSourcesRowset , что означает, что она также включена в подсчисление. Соответствует SOURCES_ISPARENT столбцу собственного набора строк источников OLE DB. |
OLE DB предоставляет несколько компонентов перечислителя, включая MSDAENUM, перечислитель MSDASQL, перечислитель SQLNCLI, перечислитель SQLOLEDB и другие. Дополнительные сведения о компонентах перечислителя и их использовании см. в справочнике программиста OLE DB.