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

來源:互聯網
上載者:User

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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.