Freigeben über


OleDbEnumerator.GetEnumerator(Type) Methode

Definition

Gibt mit einem bestimmten OLE DB-Enumerator einen OleDbDataReader zurück, der Informationen zu den aktuell installierten OLE DB-Anbietern enthält, ohne dass eine Instanz der OleDbEnumerator-Klasse erforderlich ist.

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

Parameter

type
Type

einen Type

Gibt zurück

Ein OleDbDataReader-Objekt, das Informationen zu den angeforderten OLE DB-Anbietern enthält, unter Verwendung des angegebenen OLE DB-Enumerators.

Ausnahmen

Der Anbieter unterstützt ISourcesRowset nicht.

Beim zugrunde liegenden Anbieter ist eine Ausnahme aufgetreten.

Beispiele

Die folgende Konsolenanwendung verwendet die MSDAENUM-Komponente, um Informationen zu allen OLE DB-Anbietern abzurufen und die Informationen im Konsolenfenster anzuzeigen.

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("==================================");  
   }  
 }  
}  

Hinweise

Der von dieser Methode zurückgegebene Reader enthält die folgenden Spalten, die alle Zeichenfolgen enthalten:

Spaltenordinalzahl Spalte BESCHREIBUNG
0 SOURCES_NAME Der invariante Name der nativen OLE DB-Datenquelle oder des Enumerators.
1 SOURCES_PARSENAME Ein lesbarer Name, der mithilfe der nativen COM-Schnittstelle IParseDisplayName in einen Moniker konvertiert werden kann. Entspricht der SOURCES_PARSENAME Spalte, die vom nativen OLE DB-Quellenrowset zurückgegeben wird.
2 SOURCES_DESCRIPTION Beschreibung der nativen OLE DB-Datenquelle. Entspricht der SOURCES_DESCRIPTION Spalte, die vom nativen OLE DB-Quellenrowset zurückgegeben wird.
3 SOURCES_TYPE Einer der folgenden Enumerationsmber: Binder (0), DataSource_MDP (1), DataSource_TDP (2), Enumerator (3). Diese entsprechen den Werten, die in der spalte SOURCES_TYPE des nativen OLE DB-Quellenrowsets zurückgegeben werden.
4 SOURCES_ISPARENT Gilt nur für Enumeratoren. Gibt truean, dass der Eintrag für denselben Enumerator gilt, für den GetSourcesRowset aufgerufen wurde, was impliziert, dass er auch in der Unteraufzählung enthalten ist. Entspricht der SOURCES_ISPARENT Spalte des nativen OLE DB-Quellenrowsets.

OLE DB bietet mehrere Enumeratorkomponenten, darunter MSDAENUM, MSDASQL Enumerator, SQLNCLI Enumerator, SQLOLEDB Enumerator und andere. Weitere Informationen zu den Enumeratorkomponenten und deren Verwendung finden Sie in der OLE DB-Programmiererreferenz.

Gilt für: