Russian Qt Forum

Qt => Базы данных => Тема начата: alina от Декабрь 12, 2011, 21:37



Название: Выборка из таблицы БД при помощи формы
Отправлено: alina от Декабрь 12, 2011, 21:37
Подскажите, пожалуйста, как при помощи пользовательской формы сделать выборку из таблицы БД в Qt.
При выборе, например, в виджете QDateEdit нужной даты  в QTableView отображался результат.


Название: Re: Выборка из таблицы БД при помощи формы
Отправлено: BuRn от Декабрь 13, 2011, 06:24
не понимаю в чем проблема ? не можешь открыть базу ? не можешь считать время с виджета ? не можешь сделать обычный селект ? проблему то опиши поконкретнее


Название: Re: Выборка из таблицы БД при помощи формы
Отправлено: Странник от Декабрь 13, 2011, 11:16
Подскажите, пожалуйста, как при помощи пользовательской формы сделать выборку из таблицы БД в Qt.
При выборе, например, в виджете QDateEdit нужной даты  в QTableView отображался результат.
используйте QSqlTableModel::setFilter(). дату лучше передавать в ISODate.


Название: Re: Выборка из таблицы БД при помощи формы
Отправлено: alina от Декабрь 13, 2011, 19:41
не понимаю в чем проблема ? не можешь открыть базу ? не можешь считать время с виджета ? не можешь сделать обычный селект ? проблему то опиши поконкретнее

Как установить связь между виджетом и БД, чтобы при вводе данных в этот виджет выполнялся соответствующий запрос?


Название: Re: Выборка из таблицы БД при помощи формы
Отправлено: Bepec от Декабрь 14, 2011, 12:07
Создать свой слот, в котором передать представлению бд параметры, по которым надо фильтровать. Соединить сигнал конца редактирования виджета (выбора времени к примеру) и свой слот.
В результате будет требуемое.


Название: Re: Выборка из таблицы БД при помощи формы
Отправлено: Syveren от Декабрь 15, 2011, 09:37
Можно использовать QSortFilterProxyModel.
QSortFilterProxyModel::setFilterKeyColumn(int);
QSortFilterProxyModel::setFilterWildcard();