使用 c# 将新添加的数据网格视图行更新到 oledb 数据库



>我有一个datagridview和一个添加保存按钮。每次我使用"添加"按钮将行添加到datagridview,最后通过"保存"按钮将所有行保存到数据库中。

我想再次向同一datagriview添加/几行,然后保存到数据库,但是在将新项目保存到数据库时,它会再次获取整个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;
                        }
                    }

我懒得想...因此,您可以使用复选框添加其他列,并且每当添加新行时,复选框的默认值都会被选中,然后在保存时,只需选中该特定复选框是否选中。如果未选中,则表示它不是新行,然后继续下一次迭代。

如果你没有得到我在下面所说的评论,我会给你一个例子。

相关内容

  • 没有找到相关文章

最新更新