| 网站首页 | 新闻 | 新书 | 专家 | 技巧 | 源码作品 | 工具/资源 | 商城 | 风采 | 留言 | 论坛 | 网址 | 承接 | 
您现在的位置: Access/Office中国 >> 技巧 >> Access >> DAOADOADP链接表DBMS >> 文章正文 用户登录 新用户注册
用ADO列出某个表的所有字段、索引         ★★★
用ADO列出某个表的所有字段、索引
作者:cg1『文章… 文章来源:Access911 点击数: 本日:{$DayHits} 更新时间:2005-2-4 16:41:04

原文:http://access911.net/77FAB71E14DC.htm

  查询类型                标准
   =============================

   adSchemaTables             TABLE_CATALOG
                              TABLE_SCHEMA
                              TABLE_NAME
                              TABLE_TYPE



使用 adSchemaTables 列出数据库中所有的表
在 Microsoft Access 97 and access 2000 中以下例子展示了如何列出northwind数据库中所有的表和查询
 Set rs = cn.OpenSchema(adSchemaTables)
   While Not rs.EOF
      Debug.Print rs!TABLE_NAME
      rs.MoveNext
   Wend


只列出表用以下的代码:            
Set rs = cn.OpenSchema(adSchemaTables, _
         Array(Empty, Empty, Empty, "Table")

在 Microsoft SQL Server 6.5 and 7.0 中以下代码列出Publs中所有的表和视图
Set rs = cn.OpenSchema(adSchemaTables)


只列出所有表用:    
 Set rs = cn.OpenSchema(adSchemaTables, _
         Array("Pubs", Empty, Empty, "Table")

                


 
查询类型                标准字
   ===============================

   adSchemaColumns   TABLE_CATALOG
                     TABLE_SCHEMA
                     TABLE_NAME
                     COLUMN_NAME


                
用 adSchemaColumns 列出表中所有字段
在 Microsoft Access 97 and access 2000 中列出 northwind.mdb 数据库 employees 表的所有字段代码如下:
Set rs = cn.OpenSchema(adSchemaColumns,Array(Empty, Empty, "Employees")

While Not rs.EOF
   Debug.Print rs!COLUMN_NAME
   rs.MoveNext
Wend



注意:需要OLE DB Provider for ODBC 和 Jet ODBC Driver 和 Jet OLE DB Providers支持

在 Microsoft SQL Server 6.5 and 7.0 中列出 Pubs database 中  Authors 表的所有字段用以下代码:
Set rs = cn.OpenSchema(adSchemaColumns, Array("pubs", "dbo", "Authors")


            
   查询类型              标准字
   ================================

   adSchemaIndexes    TABLE_CATALOG
                      TABLE_SCHEMA
                      INDEX_NAME
                      TYPE
                      TABLE_NAME



在下面例子中你必须提供一个索引名让 adSchemaIndexes querytype 使用
在 Microsoft Access 97 and access 2000 中列出 northwind.mdb 数据库的 employees 表的所有索引用以下代码:
 Set rs = cn.OpenSchema(adSchemaIndexes, _
         Array(Empty, Empty, Empty, Empty, "Employees")

While Not rs.EOF
   Debug.Print rs!INDEX_NAME
   rs.MoveNext
Wend


在 Microsoft SQL Server 6.5 and 7.0 中列出 Pusb 数据库 Authors 表的所有索引用以下代码:
 Set rs = cn.OpenSchema(adSchemaIndexes, _
         Array("Pubs", "dbo", Empty, Empty, "Authors")

下面是一段完整的代码展示如何在 Sql Server + VB 中使用:
   '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, Array("pubs", "dbo", _
             "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, Array("pubs", "dbo", _
             "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=sa;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


文章录入:tm    责任编辑:tm 
  • 上一篇文章:

  • 下一篇文章:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    专 题 栏 目
    最 新 热 门
    最 新 推 荐
    相 关 文 章
    VB通过DAO访问Access数据
    全面优化ADO
    ADO连接数据库字符串大全
    VB+ADO检测数据库并发操
    使用ADO获取外部数据
    ADO的IsolationLevel
    如何使用ADO的FetchProg
    如何使用ADO或DAO获取字
    如何得到表的所有键、键
    使用Ado列出所有的表
    网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)