'Failed to read row 0, column 4294967295 from a window with 1 rows, 7 columns
I used this code but whenever I try to click the button the error "Failed to read row 0, column 4294967295 from a window with 1 rows, 7 columns" always appear on logcat and the app goes back to the previous layout
This database base is for the questions in my database and i want it to display on the buttons
public class MyDataBaseHelper extends SQLiteOpenHelper {
public static final String DBNAME = "Login.db";
private static final String TABLE_QUESTION = "questionbank";
private static final String KEY_ID = "id";
private static final String QUESTION = "question";
private static final String CHOICE1 = "choice1";
private static final String CHOICE2 = "choice2";
private static final String CHOICE3 = "choice3";
private static final String CHOICE4 = "choice4";
private static final String ANSWER = "answer";
public MyDataBaseHelper(Context context) {
super(context, "Login.db", null, 1);
}
@Override
public void onCreate(SQLiteDatabase MyDB) {
MyDB.execSQL("create Table users(name TEXT primary key, age TEXT, school
TEXT)");
MyDB.execSQL("create Table questionbank(id INTEGER PRIMARY KEY
AUTOINCREMENT, question TEXT, choice1 TEXT, choice2 TEXT, choice3 TEXT, choice4
TEXT, answer TEXT)");
}
@Override
public void onUpgrade(SQLiteDatabase MyDB, int i, int i1) {
MyDB.execSQL("drop Table if exists users");
MyDB.execSQL("DROP TABLE IF EXIST questionbank");
onCreate(MyDB);
}
public long addInitialQuestion(Question question) {
SQLiteDatabase MyDB = this.getWritableDatabase();
ContentValues questions = new ContentValues();
questions.put(QUESTION, question.getQuestion());
questions.put(CHOICE1, question.getChoice(0));
questions.put(CHOICE2, question.getChoice(1));
questions.put(CHOICE3, question.getChoice(2));
questions.put(CHOICE4, question.getChoice(3));
questions.put(ANSWER, question.getAnswer());
long insert = MyDB.insert(TABLE_QUESTION, null, questions);
return insert;
}
public Boolean insertuserdata(String name, String age, String school) {
SQLiteDatabase MyDB = this.getWritableDatabase();
ContentValues contentValues = new ContentValues();
contentValues.put("name", name);
contentValues.put("age", age);
contentValues.put("school", school);
long result = MyDB.insert("users", null, contentValues);
if (result == -1) {
return false;
} else {
return true;
}
}
public List<Question> getAllQuestionsList () {
List<Question> questionArrayList = new ArrayList<>();
String selectQuery = " SELECT * FROM " + TABLE_QUESTION;
SQLiteDatabase MyDB = this.getReadableDatabase();
Cursor c = MyDB.rawQuery(selectQuery, null);
if (c.moveToFirst()) {
do {
Question question = new Question();
String questText = c.getString(c.getColumnIndex(QUESTION));
question.setQuestion(questText);
String choice1Text = c.getString(c.getColumnIndex(CHOICE1));
question.setChoice(0, choice1Text);
String choice2Text = c.getString(c.getColumnIndex(CHOICE2));
question.setChoice(1, choice2Text);
String choice3Text = c.getString(c.getColumnIndex(CHOICE3));
question.setChoice(2, choice3Text);
String choice4Text = c.getString(c.getColumnIndex(CHOICE4));
question.setChoice(3, choice4Text);
String answerText = c.getString(c.getColumnIndex(ANSWER));
question.setAnswer(answerText);
questionArrayList.add(question);
}while (c.moveToNext());
Collections.shuffle(questionArrayList);
}
return questionArrayList;
}
}
Solution 1:[1]
It seems like you are reading some column that is not existing. Could it be that you changed your column names, but did not delete the application before reinstalling it? I would uninstall the application manually on the phone/emulator and reinstall it to check if the error is gone.
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 |
