0
代码唯一的问题是,当存在相同的Id时,它也会将其删除,这并不是真正删除我在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();
}
任何人都可以帮我吗?所以这段代码只会删除我选择的行以及数据库。
谢谢!对不起英语不好
是否没有主键?您需要某种形式的主键来唯一标识一条记录,否则无法告诉数据库删除特定的记录。 –
'“当有一个相同的ID”' - 现在做什么?如果多个记录具有*相同的标识符*,那么您怎么能够分别识别它们? – David
备注:qurey无效:''从Contact_List中删除,其中Id ='“+ deleteIndex +”'“';必须被添加='并且使用不同的变量名称来优先删除(如deleteIndex)。 –