以下是 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 中的架构信息基于假定该提供程序支持的目录和架构的概念。

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

  1. server sql 数据总行数_SqlServer中获取数据库中每个表的行数

    CREATE TABLE #RowCounts(NumberOfRows BIGINT,TableName VARCHAR(128)) EXEC sp_MSForEachTable 'INSERT I ...

  2. 如何使用TSQL获取数据库中所有表的列表?

    在SQL Server上的特定数据库中获取所有表名的最佳方法是什么? #1楼 select * from sys.tables; 要么 SELECT * FROM INFORMATION_SCHEMA ...

  3. mysql数据库中插入表信息_mysql数据库中插入表

    通过binlog恢复mysql数据库 在上一篇文章,我们讲解了有关mysql的binlog日志的基础知识.这篇文章,我们来讲解如何通过mysql的binlog日志来恢复数据库. 在使用binlog日志 ...

  4. vue读取mysql数据_vue.js获取数据库数据实例代码

    vue.js动态获取数据库数据 (通过vue.cli和webpack搭建的环境) 1.首先我先在创建一个静态的data.json文件,在static下创建json文件夹,(webpack环境下,静态的 ...

  5. qt mysql 清空表格_qt删除数据库中的表

    {"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],&q ...

  6. Atitit. 数据库-----catalog与schema的设计区别以及在实际中使用 获取数据库所有库表 java jdbc php  c#.Net...

    Atitit. 数据库-----catalog与schema的设计区别以及在实际中使用 获取数据库所有库表 java jdbc php  c#.Net 1. -catalog与schema的设计区别1 ...

  7. MySql 查询数据库中所有表名

    MySql 查询数据库中所有表名 查询数据库中所有表名 select table_name from information_schema.tables where table_schema='csd ...

  8. vb 读取mysql所有表名_VB 读取ACCESS数据库中所有表名和指定表字段名.doc

    VB 读取ACCESS数据库中所有表名和指定表字段名 托束显疫面绰么蚂扛沁米衅居鸳辗熊踌薄舱杂们帖婉珍抓津担庐撕枪呻头胀亨短宛溅锭语氏遣搀赠摩紧茧综逾颂备呛庞枷脓移厚醛仕恬浸值胶碟亦短咳腥钥捎魄朗氟商 ...

  9. 获取mysql可行方法_Mysql学习Java实现获得MySQL数据库中所有表的记录总数可行方法...

    <Mysql学习Java实现获得MySQL数据库中所有表的记录总数可行方法>要点: 本文介绍了Mysql学习Java实现获得MySQL数据库中所有表的记录总数可行方法,希望对您有用.如果有 ...

最新文章

  1. zlib 离线安装_黑板派Python扩展库安装与常见问题解决完整指南
  2. Freemarker基于模板字符串生成静态化html文件
  3. 什么是oracle的临时表??
  4. azure多功能成像好用吗_Azure持久功能简介:模式和最佳实践
  5. iptables的SNAT和DNAT应用
  6. 一年级学情分析计算机,小学一年级语文学情分析范文
  7. Android 仿 新闻阅读器 菜单弹出效果(附源码DEMO)
  8. Javacript中(function(){})() 与 (function(){}()) 区别 {转}
  9. PHPThumb处理图片
  10. Design Patterns
  11. RTMP vs RTMFP
  12. html动态留言墙代码,JavaScript实现动态留言板
  13. 设计一个序列信号发生器, 产生序列信号1011101. 用74LS161和4选1数据选择器74153及必要的门电路实现
  14. c 语言百度翻译软件,百度翻译api 实现简易微信翻译小程序
  15. Android开发必知的maven-publish插件知识
  16. 运动检测与跟踪之动态背景的更新
  17. 2021-2-18:请你说说MySQL的字符集与排序规则对开发有哪些影响?
  18. 台式计算机硬盘主要有哪两种接口,台式机硬盘和笔记本硬盘都有哪些区别?
  19. 人工智能数学课高等数学线性微积分数学教程笔记(1. 数学内容概述)
  20. 企二代继承者们如何再续辉煌

热门文章

  1. 网线线序(直通线与交叉线)
  2. 图卷积网络、图神经网络必读论文
  3. 【查看服务器磁盘空间请用情况】
  4. 图书管理系统需求规格说明文档目录_软件需求分析教与学(教学大纲)
  5. 查看windows文件名的编码
  6. C++ Win32 删除文件夹(非空)
  7. python的print保留四位小数——TPR计算器——二分类TPR——五分类TPR
  8. 第14周项目3 - B-树的基本操作
  9. 英特尔推出首款采用3D Xpoint存储技术的SSD硬盘
  10. B. Lorry (贪心)