나는 다음과 같은 쿼리 내 테이블을 업데이트하기 위해 노력했습니다 : 테이블 필드 내부 쿼리 COLUMN을 값을 업데이트하지 않습니다원시 쿼리로 데이터베이스 업데이트가 테이블을 업데이트하지 않습니까?
String updateQuery = "UPDATE TABLE SET COLUMN = 'HELLO' || COLUMN;"
dataBase.rawQuery(updateQuery,null);
.
그러나 나는 다음과 같은 명령을 실행할 때 테이블이 업데이트되는 : 나는 테이블이었다updateCursor.close()
이상을 추가로 테이블이 즉시 자동으로 업데이트하지 않았지만
updateCursor.moveToFirst()
을 사용하지 않고 명령을 실행
String updateQuery = "UPDATE TABLE SET COLUMN = 'HELLO' || COLUMN;"
Cursor updateCursor = dataBase.rawQuery(updateQuery,null);
updateCursor.moveToFirst();
updateCursor.close();
업데이트되었습니다. 나는 그것에 대해 많이 조사했지만 문서 나 블로그에서 아무것도 찾지 못했습니다. 이 문제의 원인을 이해하도록 도와주세요. 미리 감사드립니다.
나는 당신이 동의한다면, 내가 원한다면 나는이 쿼리를 피할 수 있었을 것이다. 단지 나의 이해를 위해서, 나는 왜 'updateCursor.moveToFirst();'가 필요한지 알고 싶다. – CodeWarrior
잘 모르겠습니다. 관련된 클래스의 소스 코드를 찾으려고 할 수 있습니다. 이것은 그 중 하나 일뿐입니다. – doorstuck
소스 코드를 보았습니다. ** 파라미터 : ** SQL SQL 쿼리. SQL 문자열은 다음과 같아야합니다. finishedselectionArgs 질의에 where 절을 포함 할 수 있습니다.이 절은 selectionArgs의 값으로 대체됩니다. 값은 문자열로 바인딩됩니다. ** 커서 객체 **는 첫 번째 항목 앞에 배치됩니다. **. 커서는 동기화되지 않습니다. 자세한 내용은 문서를 참조하십시오. – CodeWarrior