Russian Qt Forum

Qt => Базы данных => Тема начата: cya-st от Декабрь 29, 2010, 23:31



Название: QTableView empty in Qt4.7
Отправлено: cya-st от Декабрь 29, 2010, 23:31
Всем привет. На виджет ставлю QTableView, клас выглядит следующим образом:
Код:
FTest::FTest(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::FTest)
{
    ui->setupUi(this);

    QSqlTableModel model1;
    model1.setTable("table1");
    model1.select();
    model1.setEditStrategy(QSqlTableModel::OnFieldChange);
    ui->tableView->setModel(&model1);
    ui->tableView->show();
}
...
после запуска приложения TableView пустой, тоесть не отображаются записи таблицы. Под Qt4.6.2 все работало.


Название: Re: QTableView empty in Qt4.7
Отправлено: Kolobok от Декабрь 29, 2010, 23:42
Не создавай модель на стеке.


Название: Re: QTableView empty in Qt4.7
Отправлено: cya-st от Декабрь 30, 2010, 09:53
Динамически пробовал, также ничего не выводится


Название: Re: QTableView empty in Qt4.7
Отправлено: Пантер от Декабрь 30, 2010, 10:29
table1 существует? Записи в ней есть?


Название: Re: QTableView empty in Qt4.7
Отправлено: cya-st от Декабрь 30, 2010, 12:06
В 4.6.2 версии все работало, после перехода на версию 4.7 перестало отображатся, колонки тоже не отображаются.


Название: Re: QTableView empty in Qt4.7
Отправлено: Пантер от Декабрь 30, 2010, 12:21
1. Коннект к базе есть? (может драйвер не собрал какой-нибудь).
2. Что выдает model1->lastError ().text ()?


Название: Re: QTableView empty in Qt4.7
Отправлено: cya-st от Декабрь 30, 2010, 22:16
model1.lastError().text(); выдает:
"Unable to find table table1"
но таблица существует.


Название: Re: QTableView empty in Qt4.7
Отправлено: cya-st от Декабрь 30, 2010, 22:20
Если делаю через SQL запрос:
Код:
    QSqlQueryModel model2 = new QSqlQueryModel;
    model2->setQuery("select * FROM table1;");
    ui->tableView->setModel(model2);
то все прекрасно работает.


Название: Re: QTableView empty in Qt4.7
Отправлено: cya-st от Декабрь 30, 2010, 22:23
БД: PostgreSQL 9.0


Название: Re: QTableView empty in Qt4.7
Отправлено: cya-st от Декабрь 31, 2010, 20:07
Поставил PostgreSQL 8.4 и проблема решилась.
Всем спасибо за ответы.


Название: Re: QTableView empty in Qt4.7
Отправлено: arial от Декабрь 31, 2010, 21:48
Драйвер для Postgres недавно пофиксили, чтобы нормально с девятой версией работал.


Название: Re: QTableView empty in Qt4.7
Отправлено: cya-st от Январь 04, 2011, 19:43
Драйвер для Postgres недавно пофиксили, чтобы нормально с девятой версией работал.
где его можно взять?


Название: Re: QTableView empty in Qt4.7
Отправлено: crossly от Январь 05, 2011, 09:51
http://qt.gitorious.org/qt/qt/blobs/history/4.7/src/sql/drivers/psql/qsql_psql.cpp (http://qt.gitorious.org/qt/qt/blobs/history/4.7/src/sql/drivers/psql/qsql_psql.cpp)