我写了一个程序,将不同东西的条形码插入数据库。 首先,如果用户点击按钮,所有条形码都会添加到datagridview,所有条形码都会从datagridview插入数据库。
在每个条形码插入数据库之前,我检查它是否重复。
我希望在每个条形码插入数据库时从datagridview中删除每个条形码。
但它无法正常工作
它只是将其中一些插入到数据库中,其中一些在数据网格视图中左侧 这是它的代码:
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();
}
答案 0 :(得分:0)
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);
}
}