Russian Qt Forum
Ноябрь 23, 2024, 17:49
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Базы данных
>
Отображение добавленных записей за последние сутки [РЕШЕНО]
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Отображение добавленных записей за последние сутки [РЕШЕНО] (Прочитано 5468 раз)
LEO
Гость
Отображение добавленных записей за последние сутки [РЕШЕНО]
«
:
Ноябрь 29, 2012, 08:33 »
Привет, есть БД созданная в SQLITE, пытаюсь сделать фильтр таким образом:
model->setFilter("smena LIKE '"+ui->label_5->text()+"' and date>=curdate() ");
где model - QSqlTablemodel, smena - колонка с данными, date - колонка даты, фильтр не работает.
Делаю так model->setFilter("smena LIKE '"+ui->label_5->text()+"' ORDER BY id DESC LIMIT 10 "); - работает, но это не совсем то что нужно, нужен фильтр за день и за текущую смену одновременно...
«
Последнее редактирование: Ноябрь 30, 2012, 22:36 от LEO
»
Записан
trot
Гость
Re: Прошу помощи в организации запроса в БД
«
Ответ #1 :
Ноябрь 29, 2012, 10:07 »
Цитировать
date>=curdate()
я это понял так, что вы тащите даты больше текущей.
может надо так date<=curdate()
Записан
LEO
Гость
Re: Прошу помощи в организации запроса в БД
«
Ответ #2 :
Ноябрь 29, 2012, 10:34 »
Цитировать
date<=curdate()
так тоже пробовал, не работает, хотя если так делать как вы говорите то по идее выдаст все записи, получается дата меньше или равна текущей, мне по сути надо равная текущей... вообще мне в идеале требуется выдавать записи за вчера и сегодня
Записан
carrygun
Гость
Re: Прошу помощи в организации запроса в БД
«
Ответ #3 :
Ноябрь 29, 2012, 11:23 »
Может формат даты не совпадает в date и curdate()?
Записан
LEO
Гость
Re: Прошу помощи в организации запроса в БД
«
Ответ #4 :
Ноябрь 29, 2012, 12:14 »
делал такого плана запрос в клиенте SQLITE, все ок, работает как надо, только делал вот так:
select * from tbl where smena like 'trololo' and date>=curdate()
как я понимаю это аналог запроса
model->setFilter("smena LIKE 'trololo' and date>=curdate() ");
«
Последнее редактирование: Ноябрь 29, 2012, 12:28 от LEO
»
Записан
carrygun
Гость
Re: Прошу помощи в организации запроса в БД
«
Ответ #5 :
Ноябрь 29, 2012, 12:44 »
Попробуй у модели после setFilter() вызвать метод select() и посмотреть что он вернет (true/false). Как вариант еще можно будет посмотреть на selectStatement() у модели, может она чего неправильно генерирует.
Записан
Disaron
Гость
Re: Прошу помощи в организации запроса в БД
«
Ответ #6 :
Ноябрь 29, 2012, 21:36 »
Юзайте прелести QString, чтобы не ломать голову со строками.
Попробуйте так:
model->setFilter(QString("smena LIKE \'%1\' date>=\"%2\" ").arg(ui->label_5->text()).arg(QDate::currentDate().toString("yyyy-MM-dd")))
Я не в курсе - поддерживает ли либа qsqlite такие функции вообще. Этот вариант работает. Только не помню насчет строк в лайте - в одинарных или в двойных кавычках они... Запутался уже в СУБДшках.
«
Последнее редактирование: Ноябрь 29, 2012, 21:38 от Disaron
»
Записан
LEO
Гость
Re: Прошу помощи в организации запроса в БД
«
Ответ #7 :
Ноябрь 30, 2012, 09:35 »
спасибо за советы походу поддерживает, что то использовал как то подобное, но в моем случае фильтрации не происходит...
видимо в кавычках путаю, буду пробывать дальше...
допилил, получилось вот так, работает:
model->setFilter(QString("smena LIKE '%1' and date >='%2' ").arg(ui->label_5->text()).arg(QDate::currentDate().toString("yyyy-MM-dd")));
А как сделать отображение данных добавленных за последние 2-е суток?!
«
Последнее редактирование: Ноябрь 30, 2012, 11:12 от LEO
»
Записан
carrygun
Гость
Re: Прошу помощи в организации запроса в БД
«
Ответ #8 :
Ноябрь 30, 2012, 14:01 »
За вчера и сегодня:
Код
C++ (Qt)
...
QDate
::
currentDate
(
)
.
addDays
(
-
1
)
...
Ну или сам смотри как тебе надо. Еще заодно прочитай справку по QDate, возможно, отпадут еще какие вопросы.
Записан
LEO
Гость
Re: Прошу помощи в организации запроса в БД
«
Ответ #9 :
Ноябрь 30, 2012, 22:33 »
Все работает как надо, всем спасибо, тема закрыта
Записан
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...