Access911.net   |   a9BBS   |   OTaA System  
  搜索文章:  
Access911欢迎您光临  
   主页      上传      繁體版       论坛     
设为首页  |  加入收藏   
  
你现在的位置:文章索引 -> 文章分类 -> 表  
 首页|  近日更新|  下载  |  文章索引  |  搜索|  术语|  承接工程|  
 
系统正在加载内容,请耐心等待...
 
 查询
 窗体
 报表
 
 
 VBA
 函数
 ADO/DAO/ADO.NET
 API
 ADP
 安全
 发布
 OA
 ASP/ASP.NET
 其他语言
 控件
 DELPHI
 C#/VS.NET2005
 本站
 其他
 小例程
 常用软件
 参考文档
 业主作品
 网友大作
 
 
友情链接
 access911.net
 AppleVB
 我家网
 911静态资料2
 a9 BBS
 911搜什么
 MCSE技术论坛
 CSharp911.net
 BBS新闻列表
 911静态资料
 911搜C S D N
 911搜全国公交线路
 Office中国
 Java 编程资料站
 Access开发在线
 Access软件网
 CSDN
 MS Support
 上海朋扬电脑
 access爱好者
 交流中心
 ezlavie
 艾赛思俱乐部
 设计在线
 搜CSDN V2
 搜CSDN V3
 oaup
 宇宙网络
 
访问人次
 1004413
 
站长 E-Mail
 net911@sina.com
 access911@gmail.com
 
RSS 订阅

显示附加信息 >>>

用ADO列出某个表的所有字段、索引

作者:cg1  摘自:access911.net  :cg1  更新日期:2003-7-13  浏览人次:

 

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

   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=<servername>;" & _
      '        "User ID=sa;password=;"

   End Sub


185979,186246


 

 
相关文章
     没有手动相关文章
     关于加密 Paradox 的 ADO 链接问题
     新手来看:ADO能执行Access中已建的查询吗? 
     如何使用ADOX/DAO刷新/更新/删除并重定义链接表 
 
评论
     查看或发表更多的评论,请单击这里。
 
 
 
 
 
   
  Access911.net   |   a9BBS   |   OTaA System   |
建站日期:2000年4月2日  |  设计施工:陈格 ( access911 & cg1 )
 Copyright © 2000 - 2003 COMET, 陈格 保留所有权利