当我将第二个表(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);
提前致谢
答案 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
的表,这就是你得到这个错误的原因