Android SQLite:是否可以在选择字段中放置2个参数以进行查询?

问题描述 投票:0回答:1

我在Android中使用SQLite时遇到问题。

我使类扩展了SQLiteOpenHelper,并且我想使用两个参数来查询表列中的值。

这是SQLiteOpenHelper类内部的名为getDatabase_Monday()的函数

public String getDatabase_Monday(){
    sqLiteDatabase = this.getReadableDatabase();
    String[] columns = new String[]{COLUMN_TITLE,COLUMN_SUBTITLE,
            COLUMN_MON,COLUMN_TUE, COLUMN_WED,COLUMN_THUS, COLUMN_FRI,COLUMN_SAT,COLUMN_SUN,
            COLUMN_START_TIME,COLUMN_END_TIME};
    @SuppressLint("Recycle")
    Cursor cursor = sqLiteDatabase.query(TABLE_TIMETABLE,columns,COLUMN_MON+"="+1,null,null,null,null);

    int iTitle = cursor.getColumnIndex(COLUMN_TITLE);
    int iSubtitle = cursor.getColumnIndex(COLUMN_SUBTITLE);
    int iStarttime = cursor.getColumnIndex(COLUMN_START_TIME);
    int iEndtime = cursor.getColumnIndex(COLUMN_END_TIME);

    String result = "";

    for (cursor.moveToFirst(); !cursor.isAfterLast(); cursor.moveToNext()){
        result = result +
                "Title: " + cursor.getString(iTitle) + "\n" +
                "SubTitle: " + cursor.getString(iSubtitle) + "\n" +
                "Start Time: " + cursor.getString(iStarttime) + "\n" +
                "End Time: " + cursor.getString(iEndtime) + "\n\n";
    }
    sqLiteDatabase.close();
    return result;
}

用于查询,我将方法设为

Cursor cursor = sqLiteDatabase.query(TABLE_TIMETABLE,columns,COLUMN_MON+"="+1,null,null,null,null);

现在我想在选择字段中输入2个参数,像这样

Cursor cursor = sqLiteDatabase.query(TABLE_TIMETABLE,columns,COLUMN_MON+"="+1 && COLUMN_START_TIME +“ =” + 9 ,null,null,null,null);

但是,如果我编写了这样的代码,则会出现&& cannot be applied错误。是否有任何方法可以通过2个选择参数进行查询?

如果您有任何建议,我想听听。

非常感谢。

screen

android android-sqlite android-cursor sqliteopenhelper android-query
1个回答
0
投票

&&是Java逻辑AND运算符。对于SQL,您必须使用运算符AND

COLUMN_MON + "=" + 1 + " AND " + COLUMN_START_TIME + "=" + 9
© www.soinside.com 2019 - 2024. All rights reserved.