2011-10-19 2 views
0

이 사이트에서 내 첫 번째 질문은 여기에 있습니다. 글쎄 업데이트 쿼리에 관한 문제가 있습니다.Sqlite에서 where 절을 사용하여 쿼리를 업데이트하십시오.

ContentValues args = new ContentValues(); 
    args.put("j_id", str); 

    db.update(TABLE_NAME2, args, null, null); 

그냥 "where"절을 추가하고 싶습니다. 그래서

UPDATE TABLE_NAME2 
    SET j_id=str 
    WHERE j_id = '-1' 

어떻게해야합니까

같은

?

답변

0

null을 세 번째 인수로 전달하는 대신 WHERE 절을 전달할 수 있습니다. See the docs. 귀하의 경우에는


,이 같을 것이다 :

String value = "-1"; // Or something else 
String column = "j_id"; // The Column for the WHERE-clause 
db.update(TABLE_NAME2, args, column+" = ?", new String[]{value}); 

당신은 항상 준비된 문 구문을 사용합니다. 따라서 실제로는 WHERE 절의 값을 문자열에 추가하지 않고 WHERE -query-string의 ?을 바꾸기 위해 문자열 배열을 사용하는 네 번째 인수를 사용합니다.

문자열 배열의 첫 번째 요소는 쿼리 문자열에서 첫 번째 ?으로 바뀝니다. 그래서 결국 이것은 WHERE 절을 다음과 같이 만듭니다.

WHERE j_id = '-1' 
+0

예. 시도했지만 작동하지 않았습니다. 나는 'Sqlite'에서 새로운 사람이다. Syntax의 줄을 써주시겠습니까? 기대에 감사드립니다. – xkrlaix

+0

원본 답안에이 내용을 추가했습니다. –

+0

감사합니다. 그것은 작동합니다. – xkrlaix

관련 문제