Android SQLite: возможно ли поместить 2 аргумента в поле выбора для запроса? - PullRequest
0 голосов
/ 30 марта 2020

У меня есть вопрос с использованием SQLite в Android.

Я создал класс extends SQLiteOpenHelper, и я бы хотел запросить значения в столбцах таблицы, используя два аргумента.

Это функция с именем getDatabase_Monday() внутри класса SQLiteOpenHelper

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

Ответы [ 2 ]

0 голосов
/ 30 марта 2020

Попробуйте передать ваше утверждение как String, не передавая синтаксис java, вы должны передать синтаксис SQL, который AND не &&.
COLUMN_MON+" = "+1+" AND "+COLUMN_START_TIME+" = "+9

0 голосов
/ 30 марта 2020

&& - логический оператор Java AND. Для SQL необходимо использовать оператор AND:

COLUMN_MON + "=" + 1 + " AND " + COLUMN_START_TIME + "=" + 9
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...