惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

宝玉的分享
宝玉的分享
小众软件
小众软件
J
Java Code Geeks
I
InfoQ
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
腾讯CDC
L
LangChain Blog
博客园 - 司徒正美
量子位
Y
Y Combinator Blog
C
Check Point Blog
T
Tailwind CSS Blog
D
DataBreaches.Net
Blog — PlanetScale
Blog — PlanetScale
N
Netflix TechBlog - Medium
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
F
Fortinet All Blogs
云风的 BLOG
云风的 BLOG
A
About on SuperTechFans
B
Blog RSS Feed
酷 壳 – CoolShell
酷 壳 – CoolShell
大猫的无限游戏
大猫的无限游戏
V
V2EX
阮一峰的网络日志
阮一峰的网络日志

博客园 - 刘杨兵

调用windows api(C#) Excel编程[C#] 动态创建Access数据库文件(C#) NET Remoting简单介绍 程序集与COM组件 VS.NET新建项目失败(附解决方案) - 刘杨兵 - 博客园 XSLT C# DES加减密 下拉菜单 - 刘杨兵 - 博客园 类似软件风格的网页下拉菜单 datalist DOM 精简知识教程 DOM对象笔记(js) 自定义对话框 js位置 js中的位置[一] ASP.NET的缓存技术 httpModule[2] httpModule
获得数据库中的所有表名和列名(C#)
刘杨兵 · 2006-12-21 · via 博客园 - 刘杨兵

 获得数据库中包括的所有数据表以及列信息(C#)

    背景:
    在日常程序设计与开发过程中,我们经常需要检测某数据库中是否存在指定名称的数据表或某个数据表中是否存在指定名称的数据列.在这个情况下,就不可避免地需要获得数据库中的所有表名和列名.
 
   解决办法:
   一.对于MS SQL Server数据库
     在
MS SQL中,比较方便,直接查询sysobjects
表即可获取。
 
  二.对于MS Access数据文件
    对于Access数据文件,我们可以通过Net Framework自带的OleDb Data Provider实现.
   示例代码如下:
   1.获得所有自定义数据表  
   其中dtSchema为一DataTable类型变量,myConn为一到指定Access数据文件的Ole连接对象
    dtSchema = myConn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables,new object[]{null,null,null,"Table"});  ///关键代码

    2.获得指定数据表中所有字段相关信息
   其中tblName为待获得字段信息的数据表名
     DataTable dtFieldInfo = myConn.GetOleDbSchemaTable(OleDbSchemaGuid.Columns, new object[]{null,null,tblName,null});

  示意图如下图1,2所示:
 图1 :

图2:

源代码下载地址:
/Files/prince1985s/GetSchemaInfo.zip