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

推荐订阅源

U
Unit 42
F
Fortinet All Blogs
Martin Fowler
Martin Fowler
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
IT之家
IT之家
Blog — PlanetScale
Blog — PlanetScale
罗磊的独立博客
V
V2EX
Vercel News
Vercel News
Apple Machine Learning Research
Apple Machine Learning Research
J
Java Code Geeks
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
T
Tailwind CSS Blog
I
InfoQ
Engineering at Meta
Engineering at Meta
WordPress大学
WordPress大学
S
SegmentFault 最新的问题
H
Help Net Security
腾讯CDC
D
Docker
P
Proofpoint News Feed
GbyAI
GbyAI
博客园 - 三生石上(FineUI控件)
aimingoo的专栏
aimingoo的专栏

博客园 - 刘杨兵

调用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