DataTablehe Datarow的转换问题??

FJY124 2010-12-03 05:52:48
DataSet ds = new DataSet();
ds = obj.GetTable525();

foreach (DataRow dr311 in varData.Rows)
{
DataRow drZT525 = ds.Tables[0].NewRow();
drZT525["Bpmfg"] = string.Empty;
drZT525["Ebeln"] = dr311["EBELN"];
drZT525["Lifnr"] = dr311["LIFNR"];
drZT525["Ebelp"] = dr311["EBELP"];
drZT525["Erdat"] = dr311["ERDAT"];
drZT525["Matnr"] = dr311["MATNR"];
drZT525["Menge"] = dr311["MENGE"];
drZT525["MEINS"] = dr311["UNIT"];
drZT525["Price"] = dr311["PRICE"];
drZT525["Waers"] = "USD";
drZT525["Werks"] = dr311["WERKS"];
DataTable dt = new DataTable();
dt.Rows.Add(drZT525);
ds.Tables.Add(dt.Copy());
}

当运行到dt.Rows.Add(drZT525)时报错说该行已经属于另一个表。 要怎么才能把drZT525复制到dt中呢?高手帮忙,谢谢!!
...全文
82 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
windxx 2010-12-04
  • 打赏
  • 举报
回复
已经解决了,观望
houshaoju 2010-12-04
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 shiyuyao1987 的回复:]

dt.Rows.Add(drZT525.ItemArray);
这样添加
[/Quote]
FJY124 2010-12-04
  • 打赏
  • 举报
回复
DataSet ds = new DataSet();
现在代码修改如下:
ds = obj.GetTable525();
DataTable dt =ds .Tables [0];
foreach (DataRow dr311 in varData.Rows)
{

DataRow drZT525 = dt.NewRow();
drZT525["Bpmfg"] = string.Empty;
drZT525["Ebeln"] = dr311["EBELN"];
drZT525["Lifnr"] = dr311["LIFNR"];
drZT525["Ebelp"] = dr311["EBELP"];
drZT525["Erdat"] = dr311["ERDAT"];
drZT525["Matnr"] = dr311["MATNR"];
drZT525["Menge"] = dr311["MENGE"];
drZT525["MEINS"] = dr311["UNIT"];
drZT525["Price"] = dr311["PRICE"];
drZT525["Waers"] = "USD";
drZT525["Werks"] = dr311["WERKS"];

dt.Rows.Add(drZT525);
ds.Tables.Add(dt.Copy());
}
但是在执行到ds.Tables.Add(dt.Copy());时报错说名为“ZT525Table”的 DataTable 已属于此 DataSet。
  • 打赏
  • 举报
回复
不变色? 就这两行的位置改变下就行了
  • 打赏
  • 举报
回复


foreach (DataRow dr311 in varData.Rows)
{
DataTable dt = new DataTable();
DataRow drZT525 = ds.Tables[0].NewRow();
drZT525["Bpmfg"] = string.Empty;
drZT525["Ebeln"] = dr311["EBELN"];
drZT525["Lifnr"] = dr311["LIFNR"];
drZT525["Ebelp"] = dr311["EBELP"];
drZT525["Erdat"] = dr311["ERDAT"];
drZT525["Matnr"] = dr311["MATNR"];
drZT525["Menge"] = dr311["MENGE"];
drZT525["MEINS"] = dr311["UNIT"];
drZT525["Price"] = dr311["PRICE"];
drZT525["Waers"] = "USD";
drZT525["Werks"] = dr311["WERKS"];
dt.Rows.Add(drZT525);
}
ds.Tables.Add(dt.Copy());
heiwer 2010-12-04
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 shiyuyao1987 的回复:]
dt.Rows.Add(drZT525.ItemArray);
这样添加
[/Quote]

up
麦麦_同学 2010-12-04
  • 打赏
  • 举报
回复
每天的回帖
shiyuyao1987 2010-12-04
  • 打赏
  • 举报
回复
dt.Rows.Add(drZT525.ItemArray);
这样添加
louti 2010-12-04
  • 打赏
  • 举报
回复
DataSet ds = new DataSet();
ds = obj.GetTable525();

foreach (DataRow dr311 in varData.Rows)
{
DataTable dt = new DataTable();
DataRow drZT525 = dt.NewRow();
drZT525["Bpmfg"] = string.Empty;
drZT525["Ebeln"] = dr311["EBELN"];
drZT525["Lifnr"] = dr311["LIFNR"];
drZT525["Ebelp"] = dr311["EBELP"];
drZT525["Erdat"] = dr311["ERDAT"];
drZT525["Matnr"] = dr311["MATNR"];
drZT525["Menge"] = dr311["MENGE"];
drZT525["MEINS"] = dr311["UNIT"];
drZT525["Price"] = dr311["PRICE"];
drZT525["Waers"] = "USD";
drZT525["Werks"] = dr311["WERKS"];

dt.Rows.Add(drZT525);
ds.Tables.Add(dt.Copy());
}

你调试一下试试吧 我家里没装环境
FJY124 2010-12-04
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 windxx 的回复:]
已经解决了,观望
[/Quote]
你怎么知道解决了呢?呵呵,不过你说对了。
正解如下:

DataSet ds = new DataSet();
ds = obj.GetAdoTableZT525();
DataTable dt =ds .Tables [0];
DataSet dsResult = new DataSet();
foreach (DataRow dr311 in varData.Rows)
{
DataRow drZT525 = dt.NewRow();
drZT525["Bpmfg"] = string.Empty;
drZT525["Ebeln"] = dr311["EBELN"];
drZT525["Lifnr"] = dr311["LIFNR"];
drZT525["Ebelp"] = dr311["EBELP"];
drZT525["Erdat"] = dr311["ERDAT"];
drZT525["Matnr"] = dr311["MATNR"];
drZT525["Menge"] = dr311["MENGE"];
drZT525["MEINS"] = dr311["UNIT"];
drZT525["Price"] = dr311["PRICE"];
drZT525["Waers"] = "USD";
drZT525["Werks"] = dr311["WERKS"];
dt.Rows.Add(drZT525);
dsResult.Tables.Add(dt.Copy());
}

111,119

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧