我们经常想获取一个数据库中的所有表名和列名,在MS SQL中,比较方便,直接查询sysobjects表即可获取。但是在Access中,如何获取呢?昨天正好有个程序要用到Access中的表,来判断是否存在,如果不存在,则创建。<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
其实很简单,我们利用.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上获取的。