当我将第二个表(dtResult)添加到数据集时,它给出了错误

名为“表”的数据表已属于此数据集。

DataTable dtSession = new DataTable();
DataTable dtResult= new DataTable();
dtResult.TableName = "A";
dtSession.TableName = "B";
dtSession = objOpt.GetSearchDetails().Copy();
ds.Tables.Add(dtSession);
dtResult = objOpt.Search_Synchronous().Copy();
ds.Tables.Add(dtResult);

提前致谢

最佳答案

您需要在从您的方法中获取副本之后以及将其添加到 DataSet 之前命名表。

DataTable dtResult= new DataTable();

dtSession = objOpt.GetSearchDetails().Copy();
dtSession.TableName = "B";
ds.Tables.Add(dtSession);


dtResult = objOpt.Search_Synchronous().Copy();
dtResult.TableName = "A";
ds.Tables.Add(dtResult);

由于您从方法 objOpt.GetSearchDetails().Copy()objOpt.Search_Synchronous().Copy() 获取副本,因此它们会覆盖之前分配给表的名称,并且这两个都返回名称为 Table 的表,这就是您收到此错误的原因

关于c# - 名为 'Table' 的数据表已属于此数据集,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12108731/

10-09 22:47