android - 如何将 query() 与 WHERE 子句一起使用?

标签 android sql database where

我需要得到问题,其中列: Activity 、类(class)和屏幕等于:“1”、“2”、“3”。 注意:问题也是一个列。

我的代码应该返回一个 string = "4"但返回的是:

android.database.sqlite.SQLiteCursor@547e1a74

代码:

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

数据库:

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

}

最佳答案

这里:

return cursor.toString();

Cursor.toString() 方法返回 Cursor 的字符串表示而不是 Cursor 包含的值。

从游标获取 QUESTION 列值:

cursor.moveToFirst();
String question = cursor.getString(cursor.getColumnIndex(
                                               DatabaseHelper.QUESTION));

关于android - 如何将 query() 与 WHERE 子句一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33089410/

相关文章:

mysql - 如何获取父子关系的子数

java - Android 编程 - 使用警告对话框以编程方式更改按钮文本

mysql - 如何远程拉取mysql数据库?

sql - 两列上的 Ruby Rails Active Record 查询

java - 使用 NamedNativeQuery 和 SqlResultSetMapping 映射任何集合

java - 从数据库中检索数据并将结果保存为 java 列表中的行

mysql - 将图像作为文件存储在文件系统中或作为二进制文件存储在 BLOB 数据库字段中

java - 通过一个函数创建不同的 fragment 类型

android - 在谷歌地图 V2 上添加按钮

java - 单击列表项时崩溃。