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

时间:2014-10-03 11:23:30

标签: c# sql datagridview c#-3.0

我写了一个程序,将不同东西的条形码插入数据库。 首先,如果用户点击按钮,所有条形码都会添加到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();
    }

1 个答案:

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

            }