Единственная проблема с кодом заключается в том, что при наличии одного и того же идентификатора он также удалит это, что на самом деле не удаляет строку, выбранную мной в datagridview.Как удалить выбранную строку в datagridview в базе данных?
private void Delete_Button_Click(object sender, EventArgs e)
{
if (dataGridView1.SelectedRows.Count > 0)
{
int Index = dataGridView1.CurrentCell.RowIndex;
if (MessageBox.Show("Are you sure?", "Confirm", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
{
string delete = dataGridView1.Rows[Index].Cells[0].Value.ToString();
SqlCeCommand cmd = new SqlCeCommand("delete from Contact_List where Id "+ delete + "'", con);
con.Open();
cmd.ExecuteNonQuery();
MessageBox.Show("Information Deleted.....");
filldata();
}
}
else
{
MessageBox.Show("Please Select a Row");
}
con.Close();
}
Может кто мне помочь? поэтому этот код будет удалять только выбранную строку, а также базу данных.
Спасибо! и извините за плохой Английский
Нет ли первичного ключа? Вам нужна форма первичного ключа, чтобы однозначно идентифицировать запись, иначе нет возможности сообщить БД удалить конкретную запись. –
'', когда есть один и тот же идентификатор '' - Что теперь? Если несколько записей имеют * одинаковый идентификатор *, то как вы можете определить их отдельно? – David
примечание: qurey недействительно: '" delete from Contact_List, где Id = '"+ deleteIndex +"' "'; должен быть добавлен = 'и использовать другое имя переменной для удаления в предпочтении (например, deleteIndex). –