vb读取mysql多表,vb获取数据库中所有表的名称

以下是 OpenSchema 方法的三个参数:

一个枚举的值,指定所需的架构类型。示例包括 adSchemaTables、 adSchemaPrimaryKeys、 adSchemaColumns。

一个 variant 类型的值的数组。元素和该数组中的内容的数量取决于运行架构查询的类型。您可以使用此参数来限制返回的结果集中的行数。但是,不能限制使用 OpenSchema 返回的列数。条件数组成员表示的字符串值来限制查询结果。阵列成员数而异的 querytype。

第三个参数会有所不同,具体取决于您使用的提供程序。它是必需的只有当您将第一个参数设置为 adSchemaProviderSpecific。否则,它将不使用。

下面是示例参数为 OpenSchema。注意使用 querytype 将更改条件。需要记住的最重要的一点是提供的值的顺序必须是相同的。其他 querytypes 的相应条件的列表是在联机文档位于下面的 URL:

http://msdn2.microsoft.com/en-us/library/ms805098.aspx

() http://msdn2.microsoft.com/en-us/library/ms805098.aspx

QueryType Criteria

=============================

adSchemaTables TABLE_CATALOG

TABLE_SCHEMA

TABLE_NAME

TABLE_TYPE

使用 adSchemaTables 来列出数据库中的表。

Microsoft Access 97 和 Access 2000

若要列出的表和查询,Microsoft Access NWind 数据库中的所有操作,只需使用下面的代码:

Set rs = cn.OpenSchema(adSchemaTables)

While Not rs.EOF

Debug.Print rs!TABLE_NAME

rs.MoveNext

Wend

若要列出仅访问 Nwind 数据库中的表,请使用:

Set rs = cn.OpenSchema(adSchemaTables,_

Array(Empty,Empty,"Table")

使用相同的语法,使用 Jet ODBC 驱动程序与 ODBC OLE DB 提供程序和使用 Jet OLE DB 提供程序。

Microsoft sql Server 6.5 和 7.0

若要列出的所有表和 Microsoft sql Server Pubs 数据库中的视图,请使用:

Set rs = cn.OpenSchema(adSchemaTables)

若要列出只是 Microsoft sql Server Pubs 数据库中的表,请使用:

Set rs = cn.OpenSchema(adSchemaTables,_

Array("Pubs","Table")

使用相同的语法与 sql Server ODBC 驱动程序使用 ODBC OLE DB 提供程序和对 sql Server 使用 OLE DB 提供程序。

QueryType Criteria

===============================

adSchemaColumns TABLE_CATALOG

TABLE_SCHEMA

TABLE_NAME

COLUMN_NAME

使用 adSchemaColumns,可以列出表中的字段。

Microsoft Access 97 和 Access 2000

若要列出访问 Nwind adSchemaColumns 与数据库中雇员表中的字段,只需使用:

Set rs = cn.OpenSchema(adSchemaColumns,Array(Empty,"Employees")

While Not rs.EOF

Debug.Print rs!COLUMN_NAME

rs.MoveNext

Wend

此操作使用 Jet ODBC 驱动程序与 ODBC OLE DB 提供程序,并且与 Jet OLE DB 提供程序一起使用。

Microsoft sql Server 6.5 和 7.0

若要列出在 sql Server Pubs 数据库中以 adSchemaColumns 作者表中的字段,只需使用:

Set rs = cn.OpenSchema(adSchemaColumns,Array("pubs","dbo","Authors")

请注意 TABLE_CATALOG 数据库,TABLE_SCHEMA 是表的所有者。此操作的 sql Server ODBC 驱动程序与 ODBC 使用 OLE DB 提供程序和 sql Server 使用 OLE DB 提供程序。

QueryType Criteria

================================

adSchemaIndexes TABLE_CATALOG

TABLE_SCHEMA

INDEX_NAME

TYPE

TABLE_NAME

提供了在 adSchemaIndexes querytype 的索引名称。

Microsoft Access 97 和 Access 2000

若要列出访问 Nwind adSchemaIndexes 与数据库中雇员表中的索引,只需使用:

Set rs = cn.OpenSchema(adSchemaIndexes,"Employees")

While Not rs.EOF

Debug.Print rs!INDEX_NAME

rs.MoveNext

Wend

此操作使用 Jet ODBC 驱动程序与 ODBC OLE DB 提供程序,并且与 Jet OLE DB 提供程序一起使用。

Microsoft sql Server 6.5 和 7.0

若要列出在 sql Server Pubs 数据库中以 adSchemaIndexes 作者表中的索引,只需使用:

Set rs = cn.OpenSchema(adSchemaIndexes,"Authors")

此操作的 sql Server ODBC 驱动程序与 ODBC 使用 OLE DB 提供程序和 sql Server 使用 OLE DB 提供程序。下面的步骤演示 OpenSchema 方法。

OpenSchema 方法示例

项目 菜单中选择 引用。在引用对话框中选择 Microsoft ActiveX 对象库。此示例使用与 sql Server 一起提供的 Pubs 数据库。您需要将数据源名称 (DSN) 更改为您的计算机上的 DSN。将以下代码粘贴到的项目的常规声明节中:" _msthash="21495" _mstchunk="true">在 Visual Basic (VB),请选择标准 EXE 项目。EXE 项目中添加三个命令按钮。Project menu,choose References. " _msthash="64485" _mstchunk="true">从项目菜单中,选择引用。Microsoft ActiveX Objects Library. " _msthash="85980" _mstchunk="true">在引用对话框中,选择Microsoft ActiveX 对象库。此示例使用与 sql Server 提供的 Pubs 数据库。您需要将数据源名称 (DSN) 更改为在您的计算机上的 DSN。将下面的代码粘贴到该项目的通用声明部分:

Note " _msthash="21496" _mstchunk="true">注意

您将需要更改 UID = 和 PWD = < 强密码 > 为正确的值,您在运行此代码之前。

请确保该 UID 具有对数据库执行此操作的相应权限。

'Open the proper connection.

Dim cn As New ADODB.Connection

Dim rs As New ADODB.Recordset

Private Sub Command1_Click()

'Getting the information about the columns in a particular table.

Set rs = cn.OpenSchema(adSchemaColumns,_

"authors"))

While Not rs.EOF

Debug.Print rs!COLUMN_NAME

rs.MoveNext

Wend

End Sub

Private Sub Command2_Click()

'Getting the information about the primary key for a table.

Set rs = cn.OpenSchema(adSchemaPrimaryKeys,_

"authors"))

MsgBox rs!COLUMN_NAME

End Sub

Private Sub Command3_Click()

'Getting the information about all the tables.

Dim criteria(3) As Variant

criteria(0) = "pubs"

criteria(1) = Empty

criteria(2) = Empty

criteria(3) = "table"

Set rs = cn.OpenSchema(adSchemaTables,criteria)

While Not rs.EOF

Debug.Print rs!TABLE_NAME

rs.MoveNext

Wend

End Sub

Private Sub Form_Load()

cn.Open "dsn=pubs;uid=;pwd=;"

'To test with the Native Provider for sql Server,comment the

' line above then uncomment the following line. Modify to use

' your server.

'cn.Open "Provider=sqlOLEDB;Data Source=;" & _

' "User ID=sa;password=;"

End Sub

运行。单击要测试的每个命令按钮。End.Modify 为 sql Server 使用本机的提供程序的窗体加载事件过程。再次测试。ADO 文档有 querytype 和条件的详细信息。指定 OLE DB 中的架构信息基于假定该提供程序支持的目录和架构的概念。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值