запрос базы данных sqlite с помощью «между» с курсором - PullRequest
0 голосов
/ 21 декабря 2018

новичок здесь .. у меня есть два набора данных, которые являются "time-in" и "time-out", и я хотел бы запросить эти два с использованием "before", чтобы данные, которые должен получить ive, были отфильтрованымое "время ожидания" моего "времени ожидания" ...

это мои данные запроса (получить все данные).

public Cursor retrieveHistoryLocationFromLocalDatabase(SQLiteDatabase db)
{
    String[] columnNames =
            {
                    HISTORY_SERIAL_NUMBER,
                    HISTORY_LATITUDE,
                    HISTORY_LONGITUDE,
                    HISTORY_DATE_TIME,
                    HISTORY_SPEED,
                    HISTORY_PORT
            };



            return (db.query(TABLE_HISTORY_FLEET_LOCATION, columnNames,null, 
            null,null, null, null));
           }

1 Ответ

0 голосов
/ 21 декабря 2018

Используйте метод rawQuery() для подготовки оператора выбора.

public Cursor retrieveHistoryLocationFromLocalDatabase(SQLiteDatabase db, String timeIn, String {

    String sql = "SELECT HISTORY_SERIAL_NUMBER, HISTORY_LATITUDE,"
                    + " HISTORY_LONGITUDE, HISTORY_DATE_TIME, HISTORY_SPEED, HISTORY_PORT"
                    + " FROM your_table_name"
                    + " WHERE your_time_in_out_column BETWEEN '" + timeIn + "' AND '" + timeOut + "'";

    return (db.rawQuery(sql, null));
}

Вы должны изменить your_table_name с вашим реальным именем таблицы и your_time_in_out_column с реальным именем столбца и timeIn и timeOutтип переменной, значения с вашими фактическими значениями.

При вызове метода retrieveHistoryLocationFromLocalDatabase() необходимо передать 3 параметра объекта базы данных SQLite, время входа и время ожидания.

PS: rawQuery() метод не рекомендуется, поскольку он принимает необработанные операторы SQL в качестве аргумента.Это создает угрозу внедрения SQL.

...