OleDbEnumerator.GetEnumerator(Type) 方法

定义

使用特定的 OLE DB 枚举数,无需 OleDbDataReader 类的实例即可返回 OleDbEnumerator,该读取器包含有关当前安装的 OLE DB 提供程序的信息。

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 转换为名字对象的人类可读名称。 对应于本机 OLE DB 源行集返回的SOURCES_PARSENAME列。
2 SOURCES_DESCRIPTION 本机 OLE DB 数据源的说明。 对应于本机 OLE DB 源行集返回的SOURCES_DESCRIPTION列。
3 SOURCES_TYPE 下列枚举成员之一:Binder (0) ,DataSource_MDP (1) ,DataSource_TDP (2) ,枚举器 (3) 。 这些值对应于本机 OLE DB 源行集的 SOURCES_TYPE 列中返回的值。
4 SOURCES_ISPARENT 仅适用于枚举器。 如果 true为 ,则指示该项应用于调用 GetSourcesRowset 的同一枚举器,这意味着它也包含在子枚举中。 对应于本机 OLE DB 源行集的 SOURCES_ISPARENT 列

OLE DB 提供了多个枚举器组件,包括 MSDAENUM、MSDASQL 枚举器、SQLNCLI 枚举器、SQLOLEDB 枚举器等。 有关枚举器组件及其用法的详细信息,请参阅 OLE DB 程序员参考

适用于