2017-02-21 57 views
-1

我用下面的代碼從我的SQL服務器數據庫中刪除記錄,但是這個查詢刪除了我所有的記錄。我想刪除所選的行,而不是全部。在c#中刪除查詢刪除選定的行

SqlCommand cmd = new SqlCommand("DELETE FROM tablename WHERE id=id ", con); 
cmd.ExecuteNonQuery(); 
+0

查詢沒有任何問題。也許,你應該檢查你的數據庫中的ID列。我認爲所有的行都有相同的ID。 – Dronacharya

+3

'where id = id'表示匹配該行的ID字段等於該行的id字段的所有行。換句話說,匹配所有行。你需要一個參數..'where id = @ id',然後提供合適的值 – pinkfloydx33

+0

但我想從我的DataGridView中刪除選中的行,但刪除了所有的記錄。 –

回答

0

您應該傳輸參數ID,我的朋友。請參閱以下代碼:

var Id = ""; //set the value that you want to delete 

SqlCommand cmd = new SqlCommand("DELETE FROM tablename WHERE [email protected] ", con); 
command.Parameters.AddWithValue("@Id", Id); 
cmd.ExecuteNonQuery();