将行插入数据库后,从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();
}
两天前我遇到了同样的问题。。。实际上我的程序做得很好。愿这对你有所帮助:
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);
}
}