這是一個簡單的問題,但由於我是C#的新手,我不確定如何解決此問題。 基本上,我有一個datagridview顯示來自MySQL表的記錄。我有一個刪除按鈕,通過點擊執行SQL查詢,這工作正常,並且也意味着從datgridview中刪除選定的行。但實際發生的是,即使只選擇了一行,它也會刪除多行。 下面是該查詢:試圖從datagridview中刪除選定的行,但它刪除了多行
private void delete_btn_Click(object sender, EventArgs e)
{
foreach (DataGridViewRow row in dataGridView1.Rows)
{
string constring = @"server = localhost; user id = root; password = pass; persistsecurityinfo = false; database = mapping; allowuservariables = false";
using (MySqlConnection con = new MySqlConnection(constring))
{
using (MySqlCommand cmd = new MySqlCommand("UPDATE deletion SET date_time = UTC_TIMESTAMP() where product_id =" + proid_txtbx.Text, con))
{
cmd.Parameters.AddWithValue("@product_id", row.Cells["product_id"].Value);
cmd.Parameters.AddWithValue("@product_name", row.Cells["product_name"].Value);
cmd.Parameters.AddWithValue("@category_id", row.Cells["category_id"].Value);
cmd.Parameters.AddWithValue("@date_time", row.Cells["date_time"].Value);
con.Open();
cmd.ExecuteNonQuery();
}
foreach(DataGridViewRow item in this.dataGridView1.SelectedRows)
{
dataGridView1.Rows.RemoveAt(this.dataGridView1.SelectedRows[0].Index);
}
}
}
您的命令不_even_有參數。當你運行它時,你可能會得到一個異常。 –
cmd.Parameters.AddWithValue(「@ product_id」,row.Cells [「product_id」]。Value); –