데이터베이스가 비어 있지 않은 경우에도 커서는 항상 null을 반환합니다. 왜? 어떻게 해결할 수 있을까요? 고맙습니다.Android : 데이터베이스가 비어 있지 않은 경우에도 커서는 항상 null을 반환합니다.
public StatParcours getOneUserInfo(int id) {
SQLiteDatabase db = this.getReadableDatabase();
Cursor cursor = db.query(TABLE_USER, new String[] { KEY_USER_ID,
KEY_STUDN , KEY_STUDBD, KEY_TEACHN, KEY_TEACHBD}, KEY_USER_ID + "=?",
new String[] { String.valueOf(id) }, null, null, null, null);
StatParcours stat = null;
if ((cursor!= null)&&(cursor.moveToFirst())){
stat = new StatParcours(
Integer.parseInt(cursor.getString(0)),
cursor.getString(1),
cursor.getString(2),
cursor.getString(3),
cursor.getString(4));
}
return stat ;
}
커서가 null입니까? 아마 그것은 단지 어떤 행도 가지고 있지 않습니까? 당신이 만든 쿼리가 적어도 하나의 결과를 반환하는지 확인 했습니까? – Karakuri
예,이 메서드를 호출 할 때 Stat의 표시된 값보다 Log를 사용하여 데이터베이스 내용을 검사했습니다. 마녀는 항상 null입니다. 커서가 항상 null임을 이해했습니다. – user2613911
'Log.d ("Foo", "Cursor is :"+ 커서);'그 파일이'Cursor is : null'입니까? 그것이'null'을 출력하지 않으면 커서는 비어 있습니다. 비어 있음은 쿼리가 조건과 일치하는 0 개의 요소를 찾았으며 쿼리가 잘못되었는지 확인해야 할 수도 있음을 의미합니다. – zapl