OpenSchema 方法可返回 Recordset 对象,该对象包含有关数据源的模式信息。举例,schema 信息可包括表的名称,表中的列名,每列的数据类型。Recordset 将以只读、静态游标模式打开。
语法Set rs=objconn.OpenSchema(querytype,criteria,schemaid)参数 | 描述 |
---|---|
querytype | 必需。任意 SchemaEnum 值,表示要运行的模式查询的类型。 注释:OLEDB 规范只要求三个 SchemaEnum 值得到支持:adSchemaTables, adSchemaColumns 以及 adSchemaProviderTypes。 |
criteria | 可选。每个 QueryType 选项的查询约束的数组,如 SchemaEnum 中列出的内容。 |
schemaid | OLE DB 规范未定义的提供者模式查询的 GUID。如果 QueryType 被设置为 adSchemaProviderSpecific,则需要此参数。否则,将不使用它。 |
Set recordset = connection.OpenSchema (QueryType, Criteria, SchemaID)
QueryType 所要运行的纲要查询类型,可以为下列任意常量。
Criteria 可选。每个 QueryType 选项的查询限制条件数组
QueryType Criteria
adSchemaTables TABLE_CATALOG
TABLE_SCHEMA
TABLE_NAME
TABLE_TYPE
在 OpenSchema 方法的 Criteria 参数中指定 TABLE_TYPE 查询约束。因此,只返回在 Pubs 数据库中指定的 Views 的纲要信息。然后该范例显示这些表的名称和类型
以下是引用片段: Dim cnn2 As ADODB.Connection Dim rstSchema As ADODB.Recordset Dim strCnn As String Set cnn2 = New ADODB.Connection strCnn = "Provider=sqloledb;" & _ "Data Source=srv;Initial Catalog=pubs;User Id=sa;Password=; " cnn2.Open strCnn Set rstSchema = cnn2.OpenSchema(adSchemaTables, Array(Empty, Empty, Empty, "VIEW")) Do Until rstSchema.EOF Debug.Print "Table name: " & _ rstSchema!TABLE_NAME & vbCr & _ "Table type: " & rstSchema!TABLE_TYPE & vbCr rstSchema.MoveNext Loop rstSchema.Close cnn2.Close |
GMT+8, 2024-5-22 22:43 , Processed in 0.021544 second(s), 8 queries , Gzip On, MemCache On.
Powered by Discuz! X3.4
© 1999-2023 Wooffice Inc.
沪公网安备 31011702000001号 沪ICP备11019229号-2
本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任! 本站特聘法律顾问:李志群律师