更新:2007 年 11 月
应用了指定的限制之后,按照 GUID 的指示从数据源返回架构信息。
命名空间:
System.Data.OleDb 程序集:
System.Data(在 System.Data.dll 中)
Public Function GetOleDbSchemaTable ( _
schema As Guid, _
restrictions As Object() _
) As DataTable
Dim instance As OleDbConnection
Dim schema As Guid
Dim restrictions As Object()
Dim returnValue As DataTable
returnValue = instance.GetOleDbSchemaTable(schema, _
restrictions)
public DataTable GetOleDbSchemaTable(
Guid schema,
Object[] restrictions
)
public:
DataTable^ GetOleDbSchemaTable(
Guid schema,
array<Object^>^ restrictions
)
public DataTable GetOleDbSchemaTable(
Guid schema,
Object[] restrictions
)
public function GetOleDbSchemaTable(
schema : Guid,
restrictions : Object[]
) : DataTable
架构表以 DataTable 的形式返回,该数据表与由 schema 参数指定的 OLE DB 架构行集具有相同的格式。使用 restrictions 参数筛选要返回到 DataTable 中的行(例如,通过指定对表名、类型、所有者或架构的限制)。在将值传递给数组时,对于不包含值的数组元素,请将空字符串或 null 包括进去。如果将空数组传递到 restrictions,则所有行(每个表一行)都按照默认顺序返回。数组中的值则对应于源表和 DataTable 中列的顺序。限制数组中的每个元素都会与架构行集中对应列的内容进行比较。例如,限制数组中的第一个元素与行集合中的第一列作比较。如果限制元素不为 null,则只会将架构行集合中与限制值完全匹配的行添加到结果 DataTable 中。
OleDbConnection 方法使用标准的公共语言运行库转换规则,调用基础的 IDBSchemaRowset::GetRowset 方法。有关更多信息,请参见 COM 数据类型。
使用 DbInfoLiterals 可以检索有关原义字符的信息。这将提供与调用 OLE DB IDBInfo::GetLiteralInfo 接口或使用 adSchemaDBInfoLiterals 常数作为参数调用 ADO Connection.OpenSchema 方法等效的信息。
下面的示例返回数据库中的表的列表。
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
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、2.0、1.1、1.0
参考
其他资源