首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQLiteDatabase -如何使用where子句?

SQLiteDatabase -如何使用where子句?
EN

Stack Overflow用户
提问于 2012-02-25 21:57:27
回答 7查看 35.2K关注 0票数 8
代码语言:javascript
复制
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。我该怎么做,我已经读取了它的第一个null。我已经在下面尝试过了,但仍然不起作用

代码语言:javascript
复制
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);
}
EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2012-02-25 22:03:34

代码语言:javascript
复制
db.query
        (
                TABLE_NAME,
                new String[] { TABLE_ROW_ID, TABLE_ROW_ONE, TABLE_ROW_TWO },
                TABLE_ROW_ID + "=" + rowID,
                null, null, null, null, null
        );

TABLE_ROW_ID + "=“+ rowID, here "=”是where子句

票数 7
EN

Stack Overflow用户

发布于 2014-08-06 17:41:40

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

代码语言:javascript
复制
        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
        );
票数 10
EN

Stack Overflow用户

发布于 2012-02-25 22:09:51

“仍然不能工作”到底是什么意思?

下面的代码应该可以正常工作:

代码语言:javascript
复制
public Cursor fetchTimetable() { 
    String[] columnNames = new String[] {TIMETABLE_ROWID, TIMETABLE_MODULECODE, TIMETABLE_MODULENAME, TIMETABLE_ROOM, TIMETABLE_LECTURER, TIMETABLE_TIME};
    String whereClause = "TIMETABLE_MODULECODE=123"; 

    return mDb.query(DATABASE_TABLE_TIMETABLE, columnNames, whereClause, null, null, null, null); 
} 
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9444593

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档