Удаление строк из datagridview после вставки их в базу данных

Я написал программу, которая вставляет в базу данных штрих-код разных вещей. Прежде всего, я добавляю все штрих-коды в datagridview после того, как пользователь нажимает на кнопку, все штрих-коды вставляются в базу данных из datagridview.

перед тем, как каждый штрих-код вставляет в базу данных, я проверю его на наличие дубликатов.

Я хочу удалить каждый штрих-код из datagridview, когда каждый из них вставляет в базу данных.

но он работает неправильно

он просто вставляет некоторые из них в базу данных, а некоторые из них отображаются слева в представлении datagrid, вот его код:

Cnn.Open(); foreach (DataGridViewRow row in dataGridView1.Rows) { SqlCommand cm = new SqlCommand("select BarcodeId from Bought_Product where BarcodeId='" + row.Cells[1].Value.ToString() + "'", Cnn); SqlDataReader dr = cm.ExecuteReader(); if (dr.HasRows) { while (dr.Read()) { MessageBox.Show(dr[0].ToString() + "تکراری می باشد"); } dr.Close(); } else { dr.Close(); SqlCommand cmd2 = new SqlCommand("insert into Bought_Product (Persons_Id,Bought_Date,Bought_fac_num,BarcodeId) values ('" + textBox3.Text + "','" + textBox2.Text + "','" + textBox1.Text + "','" + row.Cells[1].Value.ToString() + "')", Cnn); cmd2.ExecuteNonQuery(); MessageBox.Show(row.ToString()); dataGridView1.Rows.Remove(row); } } Cnn.Close(); }
1 ответ

У меня такая же проблема 2 дня назад... На самом деле моя программа отлично справляется. Пусть это поможет вам:

if (MessageBox.Show("Delete this Row?", "Löschen", MessageBoxButtons.YesNo) == DialogResult.Yes) { if (!this.dataGridView1.Rows[this.rowIndex].IsNewRow) { this.dataGridView1.Rows.RemoveAt(this.rowIndex); } }

licensed under cc by-sa 3.0 with attribution.