Reputation: 51
I need to get the question, where the column : activity, lesson and screen are equal to eg: " 1", " 2" , "3". Note: question is a column too.
My code should return a string = "4" but are returning:
android.database.sqlite.SQLiteCursor@547e1a74
Code:
databaseHelper = Database.getInstance(getApplicationContext());
long id4 = databaseHelper4.insertData("1", "2", "3","4", "5", "6", "7", "8");
String question = databaseHelper4.getQuestion("1", "2", "2");
Message.message(IntroActivity.this, question);
Database:
public String getQuestion(String activity, String lesson, String screen){
SQLiteDatabase db = helper.getWritableDatabase();
String[] columns = {DatabaseHelper.QUESTION};
Cursor cursor = db.query(DatabaseHelper.TABLE_NAME, columns, DatabaseHelper.ACTIVITY +
"=?" + " AND " + DatabaseHelper.LESSON + "=?" + " AND " + DatabaseHelper.SCREEN +
"=?", new String[]{activity, lesson, screen}, null, null, null, null);
return cursor.toString();
}
Upvotes: 1
Views: 67
Reputation: 157457
instead of returning cursor.toString()
, you should return
cursor.getString(cursor.getColumnIndex(DatabaseHelper.QUESTION));
after you call cursor.moveToFirst();
public String getQuestion(String activity, String lesson, String screen){
SQLiteDatabase db = helper.getWritableDatabase();
String[] columns = {DatabaseHelper.QUESTION};
Cursor cursor = db.query(DatabaseHelper.TABLE_NAME, columns, DatabaseHelper.ACTIVITY +
"=?" + " AND " + DatabaseHelper.LESSON + "=?" + " AND " + DatabaseHelper.SCREEN +
"=?", new String[]{activity, lesson, screen}, null, null, null, null);
cursor.moveToFirst()
return cursor.getString(cursor.getColumnIndex(DatabaseHelper.QUESTION));;
}
Upvotes: 1
Reputation: 132982
Here:
return cursor.toString();
Cursor.toString()
method return String representation of Cursor instead of values which is contained by Cursor.
Get QUESTION
Column value from cursor as:
cursor.moveToFirst();
String question = cursor.getString(cursor.getColumnIndex(
DatabaseHelper.QUESTION));
Upvotes: 1