我正在尝试将gridview中的多行保存到sql数据库中。网格视图是在代码中手动构建的,因此它不是数据绑定...原因是因为这是一个必须添加到报价中的部分的网格...好吧,所以我完成了保存部分,唯一的事情是,我是否必须设置一个 foreach 才能从该行获取数据(我已经完成了),但是变量将不断设置,并且只获取最后一行数据......有人可以帮帮我吗?这就是我所做的:
conn = new SqlConnection(GetConnectionString());
string sql = "INSERT INTO CC_ItemsRequested (Item,Quantity, Price, ModelID, DateCreatedOn ) VALUES (@Item, @Quantity, @Price, @ModelID, @DateCreatedOn)";
try
{
conn.Open();
SqlCommand cmd = new SqlCommand(sql, conn);
int row = GridView1.Rows.Count;
cmd.Parameters.AddWithValue("@Item", myPart);
cmd.Parameters.AddWithValue("@Quantity", myQuantity);
cmd.Parameters.AddWithValue("@Price", myPrice);
cmd.Parameters.AddWithValue("@ModelID", methodID);
cmd.Parameters.AddWithValue("@DateCreatedOn", DateTime.Now);
for (int i = 0; i < row; i++)
{
cmd.Parameters["@Item"].Value = myPart;
cmd.Parameters["@Quantity"].Value = myQuantity;
cmd.Parameters["@Price"].Value = myPrice;
cmd.Parameters["@ModelID"].Value = methodID;
}
cmd.CommandType = CommandType.Text;
cmd.ExecuteNonQuery();
这将保存数据,但我需要做一些事情来保存每一行......这是我写的 foreach:
//foreach (GridViewRow rows in GridView1.Rows)
//{
// if (rows.RowType == DataControlRowType.DataRow)
// {
// string myPart = rows.Cells[0].Text;
// string myQuantity = rows.Cells[1].Text;
// string myPrice = rows.Cells[2].Text;
// }
但问题是,它不会获取网格数据中的所有行,它基本上只会保存最后一行......
请问有什么想法吗?提前致谢!