简体   繁体   中英

How use query() with WHERE clause?

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();

}

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));

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));;

}

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM