OleDbEnumerator.GetEnumerator(Type) Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Pomocí určitého výčtu OLE DB vrátí , OleDbDataReader který obsahuje informace o aktuálně nainstalovaných zprostředkovatelů OLE DB, aniž by vyžadoval instanci OleDbEnumerator třídy .
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
Parametry
Návraty
Obsahuje OleDbDataReader informace o požadovaných zprostředkovatelů OLE DB pomocí zadaného výčtu OLE DB.
Výjimky
Zprostředkovatel nepodporuje ISourcesRowset.
V podkladovém zprostředkovateli došlo k výjimce.
Příklady
Následující konzolová aplikace používá komponentu MSDAENUM k načtení informací o všech zprostředkovatelích OLE DB a zobrazí informace v okně konzoly.
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("==================================");
}
}
}
Poznámky
Čtenář vrácený touto metodou obsahuje následující sloupce, z nichž všechny obsahují řetězce:
Řadový sloupec | Sloupec | Popis |
---|---|---|
0 | SOURCES_NAME | Invariant název nativního zdroje dat OLE DB nebo enumerátoru. |
1 | SOURCES_PARSENAME | Uživatelsky čitelný název, který lze převést na moniker pomocí nativního rozhraní COM IParseDisplayName. Odpovídá SOURCES_PARSENAME sloupec vrácený nativní sada řádků zdrojů OLE DB. |
2 | SOURCES_DESCRIPTION | Popis nativního zdroje dat OLE DB. Odpovídá SOURCES_DESCRIPTION sloupec vrácený nativní sada řádků zdrojů OLE DB. |
3 | SOURCES_TYPE | Jeden z následujících členů výčtu: Binder (0), DataSource_MDP (1), DataSource_TDP (2), Enumerátor (3). Tyto hodnoty odpovídají hodnotám vráceným ve sloupci SOURCES_TYPE nativní sady řádků zdrojů OLE DB. |
4 | SOURCES_ISPARENT | Platí pouze pro enumerátory. Pokud true , znamená, že položka platí pro stejný výčet, na kterém byl volána GetSourcesRowset , což znamená, že je také zahrnuta v dílčím výčtu. Odpovídá SOURCES_ISPARENT sloupci nativní sady řádků zdrojů OLE DB. |
OLE DB poskytuje několik komponent enumerátoru, včetně MSDAENUM, MSDASQL Enumerator, SQLNCLI Enumerator, SQLOLEDB Enumerator a dalších. Další informace o enumerátor součásti a jak je používat naleznete OLE DB Programmer's Reference.