2012-03-20 7 views
0

я пытаюсь выбрать несколько счетов в зависимости от времени обновления ..Выбор диапазона дат из базы данных SQLite

Моя таблица с именем в качестве учетной записи и имеет столбцы как createdOn , updatedOn, acountName и т.д.

Теперь дата хранится как строка 2012-03-20

Как я могу сделать запрос sql для выбора учетных записей diff в зависимости от даты.

Вот мой код

public ArrayList<Account> getAllAccountsForReports(Date dateTo, Date dateFrom) 
    { 
     ArrayList<Account> accounts = new ArrayList<Account>(); 
     String queryString = "SELECT * FROM MAAccounts WHERE updatedOn = ? BETWEEN updatedOn = ? ORDER BY accountType, accountName"; 
     Cursor result = mDb.rawQuery(queryString, new String[]{ dateToDB(dateTo), dateToDB(dateFrom)}); 

Скажите, пожалуйста, как я могу исправить мой запрос.

С наилучшими пожеланиями

ответ

1

Ваш синтаксис BETWEEN выключен, что вы хотите, вероятно;

SELECT * FROM MAAccounts 
WHERE updatedOn 
    BETWEEN ? AND ? 
ORDER BY accountType, accountName 

Поскольку вы храните на 'YYYY-MM-DD', между должны хорошо работать, используя строку.

Я не был уверен, какое имя таблицы использовать, так как вы сказали, что он был вызван account в вопросе и MAAccounts в коде, а столбцы ошибочно заданы в вопросе, поэтому, конечно, вам нужно адаптировать его к своему имена фактических столбцов.

+0

MAAcount - мое имя в моей таблице. Спасибо, это сработало :) –

Смежные вопросы