[英]Update newly added rows of datagridview to oledb database using c#
我有一个datagridview
和一个添加和保存按钮。 每次我使用“添加”按钮将行添加到datagridview
中,最后通过“保存”按钮将所有行保存到数据库中。
我想再次向同一 datagriview
添加/很少几行,然后保存到数据库, 但是在将新项目保存到数据库时,它将再次获取整个datagridview行并保存到数据库。
我只想保存新添加的数据或已编辑的数据。 有什么方法可以将焦点设置到新添加的行或已编辑的行? 最后只保存新添加或编辑的行?
我的datagridview总是在最后向数据库添加/插入数据。
我正在使用以下代码将datagridvew
行保存到数据库:
int chkLoop;
chkLoop = dgvOrderList.Rows.Count;
MessageBox.Show(chkLoop.ToString());
foreach (DataGridViewRow row in dgvOrderList.Rows)
{
//MessageBox.Show(chkLoop.ToString());
//MessageBox.Show(row.co.ToString());
if (chkLoop != 1)
{
comm = new OleDbCommand("INSERT INTO Orders_Description (ItemCode, Quantity, Amount, OrderId, CreatedOn) VALUES ('" + Convert.ToInt32(row.Cells["Code"].Value) + "', '" + Convert.ToInt32(row.Cells["Quantity"].Value) + "', '" + Convert.ToInt32(row.Cells["Amount"].Value) + "', '" + Convert.ToInt32(txtOrderNo.Text) + "', '" + DateTime.Now + "')", conn);
MessageBox.Show(comm.CommandText);
comm.ExecuteNonQuery();
chkLoop = chkLoop - 1;
}
}
我很懒惰.......所以您可以在复选框中添加其他列,并且每当添加新行时,该复选框的默认值都会被选中,然后在保存时仅选中该特定复选框的复选框。或不。 如果未选中,则表示它不是新行,然后继续下一个迭代。
如果您没有我在下面说的话,我会给您举一个例子。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.