将行插入数据库后,从datagridview中删除行

本文关键字:datagridview 删除行 插入 数据库 | 更新日期: 2023-09-27 18:25:30

我编写了一个程序,将不同事物的条形码插入数据库。首先,我将所有条形码添加到数据网格视图中,如果用户单击按钮,所有条形码都将从数据网格视图插入数据库。

在每个条形码插入数据库之前,我会检查它是否重复。

当每个条形码插入数据库时,我想从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();
    }

将行插入数据库后,从datagridview中删除行

两天前我遇到了同样的问题。。。实际上我的程序做得很好。愿这对你有所帮助:

            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);
              }
            }