请单击以进行评分并提供反馈
MSDN
MSDN Library
.NET 开发
.NET Framework
 GetOleDbSchemaTable 方法
This page is specific to
Microsoft Visual Studio 2008/.NET Framework 3.5

Other versions are also available for the following:
.NET Framework 类库
OleDbConnection..::.GetOleDbSchemaTable 方法

应用了指定的限制之后,按照 GUID 的指示从数据源返回架构信息。

命名空间:  System.Data.OleDb
程序集:  System.Data(在 System.Data.dll 中)

Visual Basic(声明)
Public Function GetOleDbSchemaTable ( _
    schema As Guid, _
    restrictions As Object() _
) As DataTable
Visual Basic(用法)
Dim instance As OleDbConnection
Dim schema As Guid
Dim restrictions As Object()
Dim returnValue As DataTable

returnValue = instance.GetOleDbSchemaTable(schema, _
    restrictions)
C#
public DataTable GetOleDbSchemaTable(
    Guid schema,
    Object[] restrictions
)
Visual C++
public:
DataTable^ GetOleDbSchemaTable(
    Guid schema, 
    array<Object^>^ restrictions
)
J#
public DataTable GetOleDbSchemaTable(
    Guid schema,
    Object[] restrictions
)
JScript
public function GetOleDbSchemaTable(
    schema : Guid, 
    restrictions : Object[]
) : DataTable

参数

schema
类型:System..::.Guid

OleDbSchemaGuid 的值之一,它指定要返回的架构表。

restrictions
类型:array< System..::.Object >[]()[]

限制值的 Object 数组。这些值按照限制列的顺序来应用。即,第一个限制值应用于第一个限制列,第二个限制值应用于第二个限制列,依此类推。

返回值

类型:System.Data..::.DataTable

一个包含所请求的架构信息的 DataTable

异常条件
OleDbException

指定的限制集无效。

InvalidOperationException

OleDbConnection 是关闭的。

ArgumentException

OLE DB 提供程序不支持指定的架构行集合。

- 或 -

schema 参数包含 DbInfoLiterals 的值,restrictions 参数包含一条或多条限制。

架构表以 DataTable 的形式返回,该数据表与由 schema 参数指定的 OLE DB 架构行集具有相同的格式。使用 restrictions 参数筛选要返回到 DataTable 中的行(例如,通过指定对表名、类型、所有者或架构的限制)。在将值传递给数组时,对于不包含值的数组元素,请将空字符串或 null 包括进去。如果将空数组传递到 restrictions,则所有行(每个表一行)都按照默认顺序返回。数组中的值则对应于源表和 DataTable 中列的顺序。限制数组中的每个元素都会与架构行集中对应列的内容进行比较。例如,限制数组中的第一个元素与行集合中的第一列作比较。如果限制元素不为 null,则只会将架构行集合中与限制值完全匹配的行添加到结果 DataTable 中。

OleDbConnection 方法使用标准的公共语言运行库转换规则,调用基础的 IDBSchemaRowset::GetRowset 方法。有关更多信息,请参见 COM 数据类型

使用 DbInfoLiterals 可以检索有关原义字符的信息。这将提供与调用 OLE DB IDBInfo::GetLiteralInfo 接口或使用 adSchemaDBInfoLiterals 常数作为参数调用 ADO Connection.OpenSchema 方法等效的信息。

下面的示例返回数据库中的表的列表。

Visual Basic
Public Function GetSchemaTable(ByVal connectionString As String) _
    As DataTable

    Using connection As New OleDbConnection(connectionString)
        connection.Open()

        Dim schemaTable As DataTable = _
            connection.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, _
            New Object() {Nothing, Nothing, Nothing, "TABLE"})
        Return schemaTable
    End Using
End Function

C#
static DataTable GetSchemaTable(string connectionString)
{
    using (OleDbConnection connection = new 
               OleDbConnection(connectionString))
    {
        connection.Open();
        DataTable schemaTable = connection.GetOleDbSchemaTable(
            OleDbSchemaGuid.Tables,
            new object[] { null, null, null, "TABLE" });
        return schemaTable;
    }
}

Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98

.NET Framework 和 .NET Compact Framework 并不是对每个平台的所有版本都提供支持。有关支持的版本的列表,请参见.NET Framework 系统要求

.NET Framework

受以下版本支持:3.5、3.0 SP1、3.0、2.0 SP1、2.0、1.1 和 1.0
社区内容   什么是社区内容?
添加新内容 RSS  批注
Processing
© 2008 Microsoft Corporation 版权所有。 保留所有权利  |  商标  |  隐私权声明
Page view tracker