【发布时间】:2015-05-28 05:09:40
【问题描述】:
我有一个功能可以在我的 dgv 中编辑一个单元格。这就是问题所在。我只能编辑一个单元格。
到目前为止,这是我的代码:
private void datagridview1_CellEndEdit(object sender, DataGridViewCellEventArgs e)
{
Connection();
sqlconnection.Open();
this.datagridview1.Rows[e.RowIndex].Selected = true;
this.rowIndex1 = e.RowIndex;
this.datagridview1.CurrentCell = this.datagridview1.Rows[e.RowIndex].Cells[1]; //1 = only quantity can be edited, 0 = only item can be edited
sqlcmd = new SqlCommand("UPDATE inventory_table SET item = @item, quantity = @quantity WHERE id= " + this.datagridview1.Rows[this.rowIndex1].Cells["id"].Value, sqlconnection);
sqlcmd.Parameters.AddWithValue("@item", this.datagridview1.Rows[this.rowIndex1].Cells["item1"].Value);
sqlcmd.Parameters.AddWithValue("@quantity", this.datagridview1.Rows[this.rowIndex1].Cells["quantity1"].Value);
sqlcmd.ExecuteNonQuery();
sqlconnection.Close();
}
我错过了什么?我该怎么做才能编辑多个 dgv 单元并让它们在数据库中更新?
【问题讨论】:
-
那么当您编辑单元格时,只有第一个单元格会保存到数据库中?开始时使用此事件调用更新不是一个好主意,但您可能希望通过为连接对象添加“使用”语句来确保您的对象得到清理
-
你应该看看这篇文章。 blogs.msmvps.com/jcoehoorn/blog/2014/05/12/… 还有,你为什么不在 where 谓词中也使用参数?
-
没关系。我只是想知道我的问题的答案。
标签: c# sql-server winforms datagridview