【发布时间】:2017-07-13 20:13:07
【问题描述】:
嗯,这可能看起来是个愚蠢的问题,但我整个早上都在用这个来拔头发。
在我的 VS 2005 项目中,我已经创建了一个包含大量数据表的完整工作数据集。由于项目中的新要求,我需要在我的数据集中创建一些新的数据表。一旦创建,我将面临一个我以前从未见过的问题。我无法将新的 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
我知道我可以创建一个与旧数据集具有相同结构的新数据集加上新数据表,并用这个新数据集替换旧的非工作数据集,但我的旧数据集已经与一些报告链接,我'我想将我现有的数据集与我的新数据一起使用,并避免再次替换所有数据链接。
【问题讨论】:
-
这有点不清楚。您在哪里将新的 DataTables 添加到您的 ExistingDataSet 中?
-
对不起,忘了说我在数据集设计器窗口添加了新的数据表。
-
然后尝试检查数据集
.Designer文件,看看它是如何定义的。也许它是私有的而不是公共的 -
感谢@Pikoh 提供的线索,它被定义为
Partial Public Class ExistingDataSet。数据表都(旧的和新的)定义为Private -
VS 中有一个微妙的错误,在某些情况下,它似乎在设计器和生成的数据集代码之间失去同步。尝试在解决方案资源管理器中右键单击 .xsd 文件并选择“属性”。确保自定义工具设置为 MSDataSetGenerator。
标签: vb.net datatable dataset visual-studio-2005 member