我需要查看一個表是否存在於我的c#程序使用的Access數據庫中。知道將有其他數據庫的SQL命令將返回一個表的列表。 Access/Jet數據庫是否有這樣的命令?如何獲取Access(Jet)數據庫中的表的列表?
回答
嘗試的getSchema()
connection.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\\access.mdb";
connection.Open();
DataTable userTables = connection.GetSchema("Tables");
全碼:Get List of Tables in an Access Database - ADO.NET Tutorials
// Microsoft Access provider factory
DbProviderFactory factory =
DbProviderFactories.GetFactory("System.Data.OleDb");
DataTable userTables = null;
using (DbConnection connection =
factory.CreateConnection())
{
// c:\test\test.mdb
connection.ConnectionString = "Provider=Microsoft
.Jet.OLEDB.4.0;Data Source=c:\\test\\test.mdb";
// We only want user tables, not system tables
string[] restrictions = new string[4];
restrictions[3] = "Table";
connection.Open();
// Get list of user tables
userTables =
connection.GetSchema("Tables", restrictions);
}
// Add list of table names to listBox
for (int i=0; i < userTables.Rows.Count; i++)
listBox1.Items.Add(userTables.Rows[i][2].ToString())
像這樣的東西應該做的伎倆。條款Type = 1
指定了表格。請注意,這也將包括在結果集中的系統表(它們以前綴「MSys的」
SELECT Name FROM MSysObjects WHERE Type = 1
只是想它,我得到:'記錄(s)不能被讀取;沒有'MSysObjects'的讀取權限 – hawbsl 2011-05-27 13:13:41
@hawbsl聽起來你可能需要在Access數據庫中修改權限工具菜單 - >安全性 - >用戶和組權限分配'讀取數據'對MSysObjects表上的Admin用戶的權限 – 2011-05-27 13:34:41
更改這樣的權限可能會違反已故意設置的用戶級安全性。他的解決方案不是更改底層對象的權限(這會使其對任何人都開放),而是使用具有所需權限的用戶名/密碼。 – 2011-05-28 21:19:41
- 1. Jet(Access)基於數據庫和表達式的列?
- 2. 如何獲取SQLite數據庫的表中列的列表?
- 3. 如何從MS Access獲取數據庫列表?
- 4. 如何使用HibernateDaoSupport獲取數據庫中的表的列表?
- 5. 如何獲取我的數據庫中的審計表列表?
- 6. 如何獲取數據庫表的子表的列表?
- 7. 從數據庫獲取表的列表
- 8. 獲取數據庫表中的列?
- 9. 獲取Npgsql中的數據庫列表
- 10. 如何獲取MS Access數據類型的列表?
- 11. 如何從MS Access數據庫獲取表名?
- 12. 如何獲取數據庫中沒有時間戳列的表的列表?
- 13. 如何從數據庫中獲取數據到列表視圖
- 14. 從Firebird數據庫表中獲取列名的列表
- 15. 獲取數據庫表中計算列的列表(SQL Server)
- 16. 如何從數據庫中獲取ViewModel的列表?
- 17. 如何獲取wordpress數據庫中最新標籤的列表?
- 18. 如何獲取另一個數據庫中的表列
- 19. 如何使用NodeJs獲取MongoDB中的數據庫列表?
- 20. 如何獲取數據庫中的RecordType列表?
- 21. 如何獲取列表中的現有postgres數據庫
- 22. 如何獲取t-sql中的條件數據庫列表
- 23. 如何使用PDO獲取PHP中的MySQL數據庫列表?
- 24. 如何獲取Oracle數據庫中的鎖定用戶列表?
- 25. 如何獲取lmdb環境中的命名數據庫列表?
- 26. 如何獲取數據庫中活動觸發器的列表?
- 27. 如何在Perl中使用DBI列出Jet數據庫的表名?
- 28. 如何獲取RethinkDB中所有數據庫次級列表的列表
- 29. 獲取數據庫的表
- 30. 如何從數據庫中的所有表中獲取數據
這就是我想要的所有很多大花哨的答案!謝謝!! – CindyH 2014-02-28 17:06:42