【发布时间】:2016-08-28 13:40:38
【问题描述】:
我创建了一个临时的datatable 来存储临时数据,然后再将其发送到数据库。但是在创建之后,现在我想从这个临时的datatable 中获取所有行并将它们保存到数据库中。为此,我使用 foreach 循环循环我的datatable
foreach(DataRow r in dt.Rows)
{
string Fname = dt.Rows[0]["Name"].ToString();
string cType = dt.Rows[0]["ContentType"].ToString();
byte[] ePic = (byte[])dt.Rows[0]["pic"];
BAL.saveEventPictures(Convert.ToInt32(lblEventID.Text), Fname, cType, ePic);
}
问题在于它只为整个循环计数一次又一次地获取第一行的数据。就像我有 4 个具有不同信息的 datarows 一样,那么这会将第一行的数据存储在数据库中 4 次。我做错了什么?
【问题讨论】:
-
那是因为您只专门索引第一行。
-
@IrishChieftain 那么我想做什么以及如何做?
-
@IrishChieftain 我明白了。谢谢:)
-
用
r代替dt.Rows[0],例如:string Fname = r["Name"].ToString();