名为“Table”的DataTable已属于此DataSet

时间:2012-08-24 11:40:38

标签: c# asp.net

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

名为“Table”的DataTable已经属于此DataSet。

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);

提前致谢

1 个答案:

答案 0 :(得分:9)

您需要在从方法中获取副本并将其添加到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的表,这就是你得到这个错误的原因