在C#中获取Access数据库中的所有表名和列名

我们经常想获取一个数据库中的所有表名和列名,在MS SQL中,比较方便,直接查询sysobjects表即可获取。但是在Access中,如何获取呢?昨天正好有个程序要用到Access中的表,来判断是否存在,如果不存在,则创建。

 

其实很简单,我们利用.Net内置的方法即可获取。

访问ACCESS数据库我使用的是Oledb方式来访问的。代码如下:

 

sqlConn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables,new Object[]{null,null,null,"Table"});

 

此代码返回的即是该数据库中所有的数据表清单,返回值为DataTable,你可以以此为数据源绑定到DataGrid中,来查看其内部数据结构。来具体获取自己所需要内容。

其中sqlConn是一个已经打开的OleDB数据连接的实例。

 

sqlConn.GetOleDbSchemaTable(OleDbSchemaGuid.Columns,new Object[]{null,null,strTableName,null});

 

此代码返回的是指定数据表中的数据列的清单,返回值为DataTable,你可以将此绑定到DataGrid中,来查看其内部数据结构,来获取自己所需的具体内容。

其中sqlConn是一个已经打开的OleDB数据连接的实例。参数strTableName是指定的数据表名称。

 

好了,赶快试一下吧。具体的使用方法也可以查看一下MSDN,因为这些东西,我是从MSDN上获取的。

posted on 2006-07-11 16:00  房客  阅读(4466)  评论(1编辑  收藏  举报

导航