繁体   English   中英

使用C#将新添加的datagridview行更新到oledb数据库

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM