테이블의 기본 설정을 업데이트하는 방법을 쓰고 있습니다. 테이블은 매우 간단합니다 : 두 개의 열, 첫 번째는 설정 유형을 나타내는 레이블, 두 번째는 설정 값을 저장합니다.SQLite 커서 동작 이해
실행 중이 시점에서 테이블은 비어 있습니다. 나는 단지 초기 값을 설정하고있다. 그래서, 나는이 커서가 다시 비어있을 것으로 기대한다. 하지만 대신 오류가 발생합니다 (아래 참조). 내가 작업하고있는 설정은 "lastPlayer"라고하며 "SETTINGS_TABLE"의 "SETTING_COLUMN"에 저장되어 있어야합니다.
public static void updateSetting(String setting, String newVal) {
String table = "SETTINGS_TABLE";
String[] resultColumn = new String[] {VALUE_COLUMN};
String where = SETTING_COLUMN + "=" + setting;
System.err.println(where);
SQLiteDatabase db = godSimDBOpenHelper.getWritableDatabase();
Cursor cursor = db.query(table, resultColumn, where, null, null, null, null);
System.err.println("cursor returned"); //I never see this ouput
\\more
}
sqlite가 반환 : 오류 코드 = 1, MSG = 그런 칼럼 :
lastPlayer
왜 그런 열 lastPlayer이 없음을 말하고 다음 코드는 없다? 나는 "SETTING_COLUMN"열을보고 해당 열이 "lastPlayer"값을 갖는 레코드를 반환하도록 쿼리에 지시했다고 생각했습니다. 나는 혼란스러워. 누군가 나를 똑바로 쓸 수 있습니까? 나는 한 시간 동안 이것을보고 있었고, 내가 잘못하고있는 것을 보지 못했다.감사합니다.
이 당신의 목적을 위해 더 나은 (그리고 훨씬 덜 사용하기 복잡)입니다. – Jong
좋습니다. 나는 그것을 들여다보고 이것으로 다시 돌아갈 것입니다. – Alex