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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: QSqlQueryModel запрос с бинами  (Прочитано 4423 раз)
vinnipux
Гость
« : Февраль 28, 2008, 06:44 »

Доброе время суток. возникал такая проблема. есть таблица, и необходимо выполнить селект к ней с параметрами. делаю так:
Код:
QSqlQueryModel *model = new QSqlQueryModel;
QString strSel="SELECT full_name, reg_num, event_registration_date, address, description"
           " FROM reg_org"
" WHERE event_registration_date BETWEEN to_date(:sDat,'DD.MM.YYYY') AND to_date(:eDat,'DD.MM.YYYY')";
(model->query()).prepare(strSel);
(model->query()).bindValue(":sDat",this->ui.deStart->text());
(model->query()).bindValue(":eDat",this->ui.deEnd->text());
(model->query()).exec();
ui.lvNKO->setModel(model);//QListView
ui.lvNKO->show();
проблема в том что селект так и не выполняется.
Подскажите как правильно сделать.
Записан
Alex03
Гость
« Ответ #1 : Февраль 28, 2008, 07:53 »

Вас вот эта строчка не смущает?
Код:
QSqlQuery QSqlQueryModel::query () const
Вы оперируете с временными объектами.
Попробуйте так:
Код:
    QSqlQuery q(strSel, db);
    q.bindValue(":sDat",this->ui.deStart->text());
    q.bindValue(":eDat",this->ui.deEnd->text());
    q.exec();
    model->setQuery(q);
PS хотя я с qt sql моделями не работал.
Записан
vinnipux
Гость
« Ответ #2 : Февраль 28, 2008, 08:41 »

Спаибо! блин засмотрелся. я подумал что так можно сделать, но не увидел что метод setQuery в качетсве параметра может принемать QSqlQuery. Спаибо! все заработало. Постораюся быть более внимательным в дальнейшем
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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