2012-08-25 73 views
-1

在項目中,我有db01.accdb數據庫
db01DataSet通過添加新的數據源嚮導在2010年VS如何通過表名填充DropDownButton

我試圖將項目添加到一個DdropDownButton

創建
private void Form1_Load(object sender, EventArgs e) 
{ 
foreach (DataTable dt in db01DataSet.Tables) { 
drop01.DropDownItems.Add(dt.TableName); 
}} 

錯誤:對象引用需要非靜態字段,方法或屬性

回答

1

嘗試從數據庫中獲取表名:使用此查詢

SELECT MSysObjects.Name AS table_name FROM MSysObjects WHERE (((Left([Name],1))<>"~") 
    AND ((Left([Name],4))<>"MSys") 
    AND ((MSysObjects.Type) In (1,4,6))) order by MSysObjects.Name 

這會給所有的MS Access表名...

+0

@ rook,我粘貼你的代碼,並得到73錯誤 – Alegro

+0

@Alegro我只是在我的Northwind 2007.accdb數據庫激發相同的查詢。我能夠檢索所有表格。 –

1

嘗試表名來代替:

drop01.DropDownItems.Add(dt.TableName); 

目前發佈的代碼雖然不會產生任何東西,因爲數據集剛創建並沒有任何表格。如果db01DataSet是由嚮導創建的,那麼你不應該創建「新」,只要使用提供的那個。

+0

@ Lars,請參閱我更改的問題 – Alegro

+0

@Alegro哪一行代碼導致錯誤? – LarsTech

+0

@ Lars,第三行。 'db01DataSet.Tables'紅色加下劃線 – Alegro