データベースのクエリに問題があります。(sqlitedb)
最初の行を照会するときはすべて問題ありませんが、2 行目を照会するときは null ポインターを取得します。
私のコードを見てください:
public AbsenceData getAbsence( int _subjectId, long date ) {
AbsenceData absence = null;
Cursor cursor = null;
cursor = mDb.query(
ABSENCES_TABLE_NAME,
new String[] { ABSENCE_TYPE, ABSENCE_NOTE },
SUBJECT_ID + "=?" + " AND " + ABSENCE_DATE + "=?",
new String[] { String.valueOf( _subjectId), String.valueOf( date ) },
null, null, null
);
if( cursor.moveToFirst() ) {
absence = new AbsenceData( 0, 0, 0l,cursor.getInt( 0 ), cursor.getString( 1 ));
}
return absence;
}
subjectId と date の 2 つの引数があります。subjectId = 1、date = 今日のクエリ - >> 必要なデータを取得しますが、subjectId = 1、date = 明日のクエリを実行すると、- >> nullpointer、
さらに、データベースには明日の日付が表示されるので、必要なデータが得られるはずですが、そうではありません...
助けてくれてありがとう。