在C#中獲取Access資料庫中的所有表名和列名

NO IMAGE

我們經常想獲取一個資料庫中的所有表名和列名,在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上獲取的。