2017-02-21 1 views
-1

다음 SQL Server 데이터베이스에서 레코드를 삭제하기 위해 다음 코드를 사용했지만이 쿼리는 모든 레코드를 삭제했습니다. 선택한 행만 삭제하고 모든 행을 삭제하지 않으려합니다.선택한 행을 삭제하기위한 C#의 쿼리 삭제

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

귀하의 질의에 아무런 문제가 없습니다. 아마도 데이터베이스의 ID 열을 확인해야합니다. 모든 행에 같은 ID가 있다고 생각합니다. – Dronacharya

+3

'id = id'는 해당 행의 ID 필드가 해당 행의 id 필드와 동일한 모든 행을 찾습니다. 즉, 모든 행을 일치시킵니다. 'id = @ id' 매개 변수가 필요하고 적절한 값인 – pinkfloydx33

+0

을 제공하지만 DataGridView에서 선택한 행을 삭제하지만 모든 레코드를 삭제하려고합니다. –

답변

0

param 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();