Я недавно научился писать код в Android с использованием SQLite, и я пытаюсь выбрать данные из SQLite, но эта ошибка возникает
Я попробовал некоторые предложения из Интернета (вопрос stackoverflow и другой веб-сайт) и прочитал мою книгу, но это не решило мою проблему, спасибо.
я пытался изменить синтаксис курсора на cursor.getcolumname, но это не помогло, я попытался изменить sqlitedatabase.query, я прочитал предложение из Интернета, но все еще не решил мою проблему
public Penyakit getPenyakit1(String namaGejal){
SQLiteDatabase db = this.getReadableDatabase();
String query = " SELECT idPen FROM " + TABLE_CONTACTS + " WHERE " +
namapen + " =\'" + namaGejal + "\'";
Cursor cursor = db.rawQuery(query,null);
Penyakit penyakit = new Penyakit();
if(cursor.moveToFirst()){
penyakit.set_idPenyakit(Integer.parseInt(cursor.getString(2)));
cursor.close();
}else{
penyakit=null;
}
return penyakit;
}
eror logcat
java.lang.IllegalStateException: Couldn't read row 0, col 2 from CursorWindow. Make sure the Cursor is initialized correctly before accessing data from it.
at android.database.CursorWindow.nativeGetString(Native Method)
at android.database.CursorWindow.getString(CursorWindow.java:465)
at android.database.AbstractWindowedCursor.getString(AbstractWindowedCursor.java:51)
вот моя переменная, если вам интересно
here my variable in case u wondering
private static final String TABLE_CONTACTS ="tb_penyakit";
private static final String nomber="nomber";
private static final String namapen ="namapen";
private static final String idPen="idPen";
private static final String namaGej ="namaGej";
private static final String idGej="idGej";
ожидаемое значение idPen выбрано из базы данных sqlite