Поделиться через


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

Параметры

type
Type

Type.

Возвращаемое значение

Объект 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.

Применяется к