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();
}
誰でも手伝ってもらえますか?このコードでは、選択した行だけでなく、データベースも削除されます。
ありがとうございます!悪い英語をお詫びします。
プライマリキーはありませんか?レコードを一意に識別するには、主キーの形式が必要です。そうしないと、特定のレコードを削除するようにDBに指示する方法はありません。 –
''と同じIDがあるとき '' - 今何しますか? *複数のレコードに同じ識別子*がある場合は、どのようにしてそれらを個別に識別できますか? – David
備考:qureyは有効ではありません: '" Contact_Listからの削除です。ここで、Id = '"+ deleteIndex +"' "'; = 'を追加し、別の変数名を使用して(deleteIndexのように)優先的に削除する必要があります。 –