안녕하세요, 저는 안드로이드 개발에 익숙하지 않으며 안드로이드에서 SQL을 사용하는 방법을 배우려고 노력해 왔습니다. 여기 http://www.tutorialspoint.com/android/android_sqlite_database.htm 에서 예제 코드로 작업했습니다 .
행 삭제 기능을 제외하고는 내가 원하는대로 모든 작업을 수행 할 수있었습니다. 행을 삭제하면 아래 행의 데이터가 손상되거나 id 열과 동기화되지 않습니다. 지난 이틀 동안 예제를보고 고글을했지만 답을 찾을 수 없으므로 여러분 중 한 명이 도움이 되었으면합니다. 아래는 무슨 일이 일어나고 있는지에 대한 간단한 예입니다. 더 많은 정보를 게시해야한다면 알려주세요. 도움을 주시면 감사하겠습니다. 문제 다이어그램
public Integer deleteContact (Integer id)
{
SQLiteDatabase db = this.getWritableDatabase();
return db.delete("contacts",
"id = ? ",
new String[] { Integer.toString(id) });
}
다이어그램의 결과가 정확합니다. 또한 코드가 정확합니다.
가지고있는 경우 :
ID | Value
----------
1 | a
2 | b <---- delete this
3 | c
결과는 다음과 같습니다.
ID | Value
----------
1 | a
3 | c
따라서 id가 3 인 행은 여전히 c 값을 갖습니다. 그리고 ID가 2 인 행을 선택하는 쿼리를 실행하면 반환 된 Cursor가 행을 가리 키지 않기 때문에 앱이 중단 될 수 있습니다. 이러한 경우를 처리하지 않으면 앱이 중단 될 수 있습니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다