android - SQLiteDatabase - 如何使用 where 子句?

标签 android mysql sqlite

public Cursor fetchTimetable() {
    return mDb.query(DATABASE_TABLE_TIMETABLE, new String[] {TIMETABLE_ROWID,    TIMETABLE_MODULECODE, TIMETABLE_MODULENAME, TIMETABLE_ROOM, TIMETABLE_LECTURER, TIMETABLE_TIME}, null, null, null, null, null);
}

例如,如果我想要 TIMETABLE_MODULECODE = 123。我该怎么做,我已经读取了它的第一个空值。我已经在下面尝试过了,但仍然不起作用

public Cursor fetchTimetable() {
    String a = "TIMETABLE_CODE = ADD";
    return mDb.query(DATABASE_TABLE_TIMETABLE, new String[] {TIMETABLE_ROWID, TIMETABLE_MODULECODE, TIMETABLE_MODULENAME, TIMETABLE_ROOM, TIMETABLE_LECTURER, TIMETABLE_TIME}, a, null, null, null, null);
}

最佳答案

我使用 where args 的工作示例(使用它更清楚):

        String [] settingsProjection = {
                DBContract.Settings._ID,
                DBContract.Settings.COLUMN_NAME_USER_ID,
                DBContract.Settings.COLUMN_NAME_AUTO_LOGIN
        };

        String whereClause = DBContract.Settings.COLUMN_NAME_USER_ID+"=?";
        String [] whereArgs = {userId.toString()};

        Cursor c = db.query(
                DBContract.Settings.TABLE_NAME,
                settingsProjection,
                whereClause,
                whereArgs,
                null,
                null,
                null
        );

关于android - SQLiteDatabase - 如何使用 where 子句?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9444593/

相关文章:

node.js - 在 Node/Express 中进行 Sequelize - 'no such table: main.User` 错误

java - 重复音频文件,并在任务改变时停止

mysql - 在一个数据库上查询速度慢,但在他的副本上查询速度快

MySQL 忽略特定行?

python - 这段 Python 代码容易受到 SQL 注入(inject)的攻击吗? (SQLite3)

php - PDO::__ construct(sqlite)尝试/捕获使用

java - 创建一个没有用户界面的单独类

ANDROID_HOME 没有设置?

java - 构建应用程序包时,gradle 脚本不起作用

php - MySQL 只能插入 10,000 行