2009-04-23 70 views
0

我对数据集表上执行一系列操作:列不表错误存在

MyDataSet sharedDS = new MyDataSet(); 
MyDataSet referenceDS = new MyDataSet(); 
sharedDS.Table1.Reset(); 
sharedDS.Merge(referenceDS); 

我得到一个System.ArgumentException:Column_X不存在表1,如果我尝试访问列这样:

MyDataSet.Table1.FindByKey().Column_X 

然而,这样一切都很好:

MyDataSet.Table1.FindByKey()["Column_X"] 

谁能解释一下什么是这里的问题?

参考(本来预定了另一个问题):Reset primary key

回答

0

我觉得这行:

sharedDS.Table1.Reset(); 

是造成你的麻烦。

我认为.reset正在清除模式。使用.Clear()是!

+0

你是对的。它正被用来清除模式。在这种情况下,我清除模式,然后再次从同一数据集的实例中复制它。现在架构已设置,但我只能以一种特定的方式访问列。我怀疑这可能会链接到类似的东西:http://kbalertz.com/815545/unhandled-exception-occurs-after-rename-columns-DataSet-object.aspx – Farooq 2009-04-24 01:43:27