OleDbConnection.GetOleDbSchemaTable(Guid, Object[]) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
应用了指定的限制之后,按照 GUID 的指示从数据源返回架构信息。
public:
System::Data::DataTable ^ GetOleDbSchemaTable(Guid schema, cli::array <System::Object ^> ^ restrictions);
public System.Data.DataTable? GetOleDbSchemaTable (Guid schema, object?[]? restrictions);
public System.Data.DataTable GetOleDbSchemaTable (Guid schema, object[] restrictions);
member this.GetOleDbSchemaTable : Guid * obj[] -> System.Data.DataTable
Public Function GetOleDbSchemaTable (schema As Guid, restrictions As Object()) As DataTable
参数
- schema
- Guid
OleDbSchemaGuid 的值之一,它指定要返回的架构表。
返回
一个包含所请求的架构信息的 DataTable。
例外
指定的限制集无效。
示例
以下示例返回数据库中表的列表。
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;
}
}
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
注解
架构表作为 DataTable 返回,其格式与 参数指定的 schema
OLE DB 架构行集的格式相同。
restrictions
使用 参数筛选 (中DataTable要返回的行,例如,通过指定表名、类型、所有者或架构) 的限制。 在数组中传递值时,对于不包含值的数组元素,请包含空字符串或 null。 如果将空数组传递给 restrictions
,则每个表) (一个行的所有行将按默认顺序返回。 数组中的值对应于源表 和 DataTable中的列的顺序。 限制数组中的每个元素都与架构行集中相应列的内容进行比较。 例如,限制数组中的第一个元素与行集中的第一列进行比较。 如果限制元素不为 null,则只会将架构行集中与限制值完全匹配的行添加到生成的 DataTable中。
方法 OleDbConnection 使用标准公共语言运行时转换规则调用基础 OLE DB IDBSchemaRowset::GetRowset 方法。 有关详细信息,请参阅 COM 数据类型。
可以使用 检索有关文本 DbInfoLiterals的信息。 这提供的信息等效于调用 OLE DB IDBInfo::GetLiteralInfo 接口或使用 常量调用 ADO Connection.OpenSchema 方法 adSchemaDBInfoLiterals
。