OleDbEnumerator.GetRootEnumerator 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
无需 OleDbDataReader 类的实例,即可返回一个 OleDbEnumerator,该读取器包含当前安装的 OLE DB 提供程序的信息。
public:
static System::Data::OleDb::OleDbDataReader ^ GetRootEnumerator();
public static System.Data.OleDb.OleDbDataReader GetRootEnumerator ();
static member GetRootEnumerator : unit -> System.Data.OleDb.OleDbDataReader
Public Shared Function GetRootEnumerator () As OleDbDataReader
返回
一个 OleDbDataReader,其中包含可见 OLE DB 提供程序的信息。
例外
提供程序不支持 ISourcesRowset。
基础提供程序中发生了异常。
示例
以下控制台应用程序检索有关所有可见 OLE DB 访问接口的信息,并在控制台窗口中显示该信息。
Imports System.Data
Imports System.Data.OleDb
Module Module1
Sub Main()
Dim enumerator As New OleDbEnumerator
Dim reader As OleDbDataReader = OleDbEnumerator.GetRootEnumerator()
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.GetRootEnumerator();
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 | 本机 OLEDB 数据源或枚举器的固定名称。 |
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 列 |
5 | SOURCES_CLSID | 一个用户可读的名称,可以使用本机 COM 接口 IParseDisplayName 转换为名字对象。 对应于本机 OLE DB 源行集返回的SOURCES_CLSID列。 |