Russian Qt Forum
Ноябрь 23, 2024, 23:09 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Несколько вопросов по QSqlTableModel, QDate и ExSortFilterModel  (Прочитано 4022 раз)
olegmar
Гость
« : Январь 12, 2009, 14:23 »

Здравствуйте, уважаемые! Очень нужна ваша помощь!
Пишу небольшую программу с использованием sqlite.
Использую QTreeView, QSqlTableModel, ExSortFilterModel (которую нашёл в одном из сообщений этого раздела форума).

Создаю таблицу в базе следующим запросом :

Код:
QString yearTable("CREATE TABLE oleg (Number int primary key, Cased TEXT, Tovar TEXT, DateOpr QDate, DatePosr QDate, FIOPosr TEXT, Dvizh TEXT, DatePri QDate, Resultat TEXT)");

Потом с помощью ExSortFilterModel  фильтрую данные. Проблемка возникла с датами. Объясните пожалуйста как их записывать в таблицу и как потом отображать, чтобы можно было отфильтровать с помощью вышеназванной модели? (Фильтрация даты подразумевается вида "С хх.хх.хххх ПО хх.хх.хх".

Код ExSortFilterModel: можно посмотреть http://www.prog.org.ru/topic_7454_0.html

Спасибо вам огромное!

Записан
ритт
Гость
« Ответ #1 : Январь 12, 2009, 14:53 »

разве в склайте имеется тип поля "QDate"?
Записан
olegmar
Гость
« Ответ #2 : Январь 12, 2009, 15:05 »

Насколько мне известно нет, но нельзя ли обойти это ограничение?

И сразу же вопрос - можно ли использовать ещё какую-нибудь субд как файл?
Записан
ритт
Гость
« Ответ #3 : Январь 12, 2009, 18:59 »

Код:
QString yearTable("CREATE TABLE oleg (Number int primary key, Cased TEXT, Tovar TEXT, DateOpr QDate, DatePosr QDate, FIOPosr TEXT, Dvizh TEXT, DatePri QDate, Resultat TEXT)");
> DateOpr QDate
я про это...
Записан
break
Гипер активный житель
*****
Offline Offline

Сообщений: 846


Просмотр профиля
« Ответ #4 : Январь 12, 2009, 21:01 »

Не пробовал сам но наверное вы можете:

Перед записью в БД своих дат преобразовывать стандартную дату в числовой формат

datetime.toTime_t()

В таком случае поле с датой будет иметь тип int

В момент фильтрации вероятно можно также преобразовать параметр фильтра в число - тогда по идее фильтрация выполниться. Можно еще конечно как строку хранить и фильтровать по символам - но это мне каж-ся менее правильно и будут вопросы с сортировкой...
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.129 секунд. Запросов: 23.