程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Access數據庫 >> 關於Access數據庫 >> 如何取得Access數據庫中的所有用戶表和視圖

如何取得Access數據庫中的所有用戶表和視圖

編輯:關於Access數據庫

方法1 對數據庫文件進行特殊的處理:
打開數據庫文件
工具->選項
然後把系統對象和隱藏對象都設置出來:

DBProperties.JPG

這樣你就會看到系統表了:
MSysObjects表中就是類似SQLServer裡的系統表,裡面記錄了所有的用戶表,視圖等一些信息,只用查詢它就行了。
SQL語句:"select [Name] as [TABLE_NAME],[Flags],[Type] from [MSysObjects] where [Flags]=0 and [Type]=1";

然而默認情況下,你的應用程序是沒有權限來讀取這張表的(是的,讀的權限都沒有)。
因此,在讀這張表之前要先設置權限:
工具->安全->用戶與組的權限

DBProperties2.JPG

將讀權限勾上就行了。

然而,更多時候我們並不能保證所有的數據文件對MSysObjects都有讀權限,而且每次設置一下也很麻煩。

方法2:
利用OLEDB的系統API來解決這個問題,當然.Net的OleDBConnection已經為我們封裝好了。
DataTable schemaTable = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new object[] {null, null, null, "TABLE"});
一句就可以搞定了。當然,同樣的方法也可以讀取視圖。 詳細的信息請查看MSDN。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved