2017-02-23 97 views
0

嗯,這可能看起來是一個愚蠢的問題,但我一直用這個拉着我的頭髮。DataTable不是DataSet的成員

在我的VS 2005項目中,我已經創建了一個完全正常工作的DataSet,並且有很多DataTables。由於項目中有新的需求,我需要在DataSet中創建一些新的DataTable。一旦創建,我就面臨着我從未見過的問題。我無法將新的DataTable用於現有的DataSet。

Dim ds as new ExistingDataSet 

我可以使用已經創建的舊數據結構

ds.ExistingTable.ExistingColumn 'No problems 

但是當我嘗試使用新創建的DataTable與ds.NewDataTable.NewColumn VS顯示了一個錯誤:NewTable is not a member of ExistingDataSet

我已經檢查了我的新的DataTable和它自己的列出現在Data Sources窗口中,試圖清理和重建項目等等......有趣的是,爲了隔離問題(我認爲它存在於DataSet的某處設計師定義)我做了一個測試,只是用一個新的DataTable創建一個新的DataSet。這樣我可以使用它沒有問題

Dim dsTest as New DataSetTEST 
dsTest.DataTable1.Column1 

我知道我可以創建具有相同的結構與舊加新的DataTable中的一個新的數據集,並更換用這個新老非工作數據集,但我的舊數據集已經與某些報告相關聯,並且希望將我的現有數據集與我的新數據一起使用,並避免再次替換所有數據鏈接。

+0

這有點不清楚。你在哪裏添加了新的DataTable到你的ExistingDataSet? – Pikoh

+0

對不起,忘了提及我在DataSet設計器窗口中添加了新的DataTable。 – equisde

+0

然後嘗試檢查數據集'.Designer'文件,看看它是如何定義的。也許它是私有的,而不是公開的 – Pikoh

回答

1

VS中存在一個微妙的(且長期存在的)錯誤,在某些情況下,它似乎失去了設計器與生成的數據集代碼之間的同步。嘗試在解決方案資源管理器中單擊.xsd文件並選擇「屬性」。確保自定義工具設置爲MSDataSetGenerator。

+0

匿名downvoter - 謹慎解釋? – peterG