PDA

View Full Version : سوال: مشکل کد چیست؟



zareei_ta
چهارشنبه 23 آذر 1390, 15:25 عصر
من کد زیر را نوشتم که سطرهای گرید را دیتابیس ذخیره کنه. اما فقط سطر آخر گرید را ذخیره میکنه.مشکلش چیه


foreach (GridViewRow r in GridView1.Rows)
{
lblSoftName = (Label)r.Cells[0].FindControl("lblSoftName");
//lblSoftPrice = (Label)r.Cells[0].FindControl("lblTotalPrice");
lblSoftId = (Label)r.Cells[0].FindControl("lblSoftId");
}
for (int i = 0; i < GridView1.Rows.Count; i++)
{
cn.ConnectionString = StrConnection;
cmd.CommandType = CommandType.Text;
cmd.Connection = cn;
cmd.CommandText = "insert into Sells(InvoiceNumber,InvoiceDate,TransactionId,User Id,SoftwareId) values(N'" + lblInvNumber.Text.Trim() + "',N'" + lblInvDate.Text.Trim() + "',N'" + lblRefNumber.Text.Trim() + "',N'" + lblUserId.Text.Trim() + "',N'" + lblSoftId.Text.Trim() + "')";
cmd.Connection.Open();
cmd.ExecuteNonQuery();
cmd.Connection.Close();

}

az.heidarzadeh
چهارشنبه 23 آذر 1390, 15:52 عصر
سلام
خب معلومه که اینکارو میکنه، خودت ببین چی نوشتی، foreach تو یکی یکی تمام سطرهای گریدت رو میریزه توی اون labale ها وقتی دستور foreach تموم میشه آخرین سطر توی lable ها مونده و بعد به تعداد سطرهات داری lable ها رو insert میکنی کلا منطق اشتباهه... foreach بالا اضافه است توی insert خود سلول های گرید رو با این دستور اضافه کن...


GridView1.Rows[i].Cells[0].Value.ToString()

zareei_ta
چهارشنبه 23 آذر 1390, 16:24 عصر
بله درست بودد دستور for اضافه بود