OleDbEnumerator.GetEnumerator(Type) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
使用特定的 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
参数
返回
一个 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 程序员参考。