crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

kuler
  опции профиля:
сообщение 10.4.2009, 15:20
Сообщение #1


Танцор диско
***

Группа: Участник
Сообщений: 441
Регистрация: 11.9.2008
Из: Москва
Пользователь №: 289

Спасибо сказали: 6 раз(а)




Репутация:   -1  


в tableview не отображаются результаты запроса
QSqlQuery query;
  
    QSqlQueryModel model;
    ui.tv->setModel(&model);

    bool res = query.exec("select hl.HOST_ID from c_host_list hl where hl.HOST_ID = 37");

    model.setQuery("select hl.HOST_ID from c_host_list hl where hl.HOST_ID = 37");
    //model.setQuery(query); так тоже не работат

    ui.tv->show();


  while (query.next()) не пустой
    {
        int id = query.value(0).toInt();
        id = id;
    }

    for (int i = 0; i < model.rowCount(); ++i) тоже не пустой
    {
        int id = model.record(i).value("HOST_ID").toInt();
        id = id;
    }

а в табличке только одна пустая строка с одним столбцом
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов (1 - 3)
Litkevich Yuriy
  опции профиля:
сообщение 10.4.2009, 16:00
Сообщение #2


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


после
model.setQuery()
хорошо бы проверить есть ошибка или нет, а то ты как-то очень уверенно запрос воткнул.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kuler
  опции профиля:
сообщение 10.4.2009, 16:21
Сообщение #3


Танцор диско
***

Группа: Участник
Сообщений: 441
Регистрация: 11.9.2008
Из: Москва
Пользователь №: 289

Спасибо сказали: 6 раз(а)




Репутация:   -1  


Цитата(Litkevich Yuriy @ 10.4.2009, 17:00) *
после
model.setQuery()
хорошо бы проверить есть ошибка или нет, а то ты как-то очень уверенно запрос воткнул.

запрос просто нормальный, срабатывает, такая вещь ничего не выявила:
if (model.lastError().isValid())
qDebug() << model.lastError();
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Frigolem
  опции профиля:
сообщение 3.5.2009, 23:04
Сообщение #4


Студент
*

Группа: Новичок
Сообщений: 14
Регистрация: 24.9.2008
Пользователь №: 297

Спасибо сказали: 3 раз(а)




Репутация:   0  


Попробуй вместо:
QSqlQueryModel model;
использовать указатель:
QSqlQueryModel * model = new QSqlQueryModel( ui.tv );
Тогда model не пропадёт для TableView. Соответственно понадобится учитывать, чтобы он создавался только один раз (за всю работу проги), иначе будет утечка памяти.

(маленькое уточнение): не за всю работу проги, а за всё время жизни TableView. :)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 23.6.2025, 3:16