2017-02-21 78 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();