簡體   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