2011-10-25 36 views
1

在我的VB.Net桌面應用程序中,我有幾個地方正在訪問一個表,用於閱讀和更新。例如:爲什麼我無法通過表名訪問數據集中的表?

Dim tempCount As Integer = Glbl.GlobalDataSet.Tables("Profiles").Rows.Count 

上述不起作用。但是,下列情況:

Dim tempCount As Integer = Glbl.GlobalDataSet.Tables(4).Rows.Count 

我敢肯定它是在過去的日工作(我最近切換到VS 2010 - 可這有什麼關係呢?),但它現在沒有工作。

如何使第一條語句有效,所以可以通過表名而不是索引訪問表?

+0

Glbl.GlobalDataSet.Tables(4) - 檢查這個名稱,看看它是否是你期望的。 – Yatrix

+0

是的,當然可以。如果我使用索引,所有函數都可以工作,但如果使用該名稱則不會。我得到一個異常,對象引用不存在。 – Chiwda

+0

我只是想讓您確定顯示的名稱是您嘗試訪問它的名稱。永遠不要低估不應該有上限或打字錯誤的封頂信的破壞力。 – Yatrix

回答

0

確保表名被分配到表4中的數據集,如果不是你的問題寫第一代碼部分之前更改像

Glbl.GlobalDataSet.Tables(4).TableName = "Profiles" 

表名在此之後嘗試獲得的數該表使用表名稱,或者在將數據庫值從數據庫填充到通過指定表名稱填充它的數據集時。

DAdapter.Fill(Glbl.GlobalDataSet.Tables("Profiles")) 
+0

Glbl.GlobalDataSet.Tables(4).TableName給我正確的表,我甚至檢索行。但是Glbl.GlobalDataSet.Tables(「Profiles」).TableName給了我什麼(空) – Chiwda

+0

@ user989468,當你嘗試使用表名進行訪問時,是不是向你拋出任何異常? –

+0

@ user989468,像我在第一步中顯示的那樣分配表名。你會得到你想要的。 –

0

它應該工作,確保DataTable的名稱是正確的。使用屬性窗口檢查然後重建項目。

相關問題