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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: QTableView и QSqlTableModel не отображается таблица :?:  (Прочитано 6116 раз)
oktogen
Гость
« : Октябрь 18, 2005, 09:47 »

Привет всем, может кто сталкивался с такой траблой?
Пишу в Куте 4.0 , Нужно отобразить заданную таблицу в форме, казалось бы тривиальная задача.
Соединение с БД проходит успешно, в переменную NameTable типа Qstring попадает корректное имя таблицы ,  но при попытке отобразить всю таблицу с записями отображается только список полей в заголовке таблицы.  Присутствие строчки
tabmod->select(); никак не действует, при этом возвращается true. Кто сталкивался с этим? Есть какое-нибудь лекарство, как это обойти? Кусок кода тут же
Код:

  tabmod = new QSqlTableModel(this,DB_attr);
  tabmod->setTable(NameTable);
  b=tabmod->select();
  tabmod->setEditStrategy(QSqlTableModel::OnManualSubmit);
 
  tableView = new QTableView(this);
  tableView->setModel(tabmod);
  tableView->show();  

Заранее спасибо за любую помощь или совет. Критика за возможное ламерство приветствуется.  Веселый
Записан
AlexKiriukha
Гость
« Ответ #1 : Октябрь 26, 2005, 12:06 »

Цитата: "oktogen"
Привет всем, может кто сталкивался с такой траблой?
Пишу в Куте 4.0 , Нужно отобразить заданную таблицу в форме...
Код:

  tabmod = new QSqlTableModel(this,DB_attr);
  tabmod->setTable(NameTable);
  b=tabmod->select();
  tabmod->setEditStrategy(QSqlTableModel::OnManualSubmit);
 
  tableView = new QTableView(this);
  tableView->setModel(tabmod);
  tableView->show();  


Какая версия Qt? У меня в 4.0.1 (Linux) при таком изменении в коде:
Код:

  tabmod = new QSqlTableModel;

отображается без проблем. Использую PostgreSQL.
Когда столкнулся с похожей проблемой, просто перевел TableName в нижний регистр (FooBar -> foobar), и все стало отображаться.
Записан
oktogen
Гость
« Ответ #2 : Октябрь 26, 2005, 12:20 »

QT 4.0 for VS2003
MustDie XP SP2.
Там же стоит сервак MySQL 5.0.15, портирован для win32

Я это исправил, но начались траблы с русским текстом.
Вместо нормальных слов выдается что-то наподобие "?????3/?? ???"
И в самих таблицах, и в сообщениях сервера, и в запросах.
C англицким все в ажуре. Даже редактировать можно.
Записан
AlexKiriukha
Гость
« Ответ #3 : Октябрь 26, 2005, 15:41 »

Цитата: "oktogen"
Я это исправил, но начались траблы с русским текстом.
Вместо нормальных слов выдается что-то наподобие "?Непонимающий?3/?? Непонимающий"
И в самих таблицах, и в сообщениях сервера, и в запросах.
C англицким все в ажуре. Даже редактировать можно.

Точно не знаю и попробовать негде, но есть два направления:
1. Кодировка, используемая драйвером.
2. Кодировка, используемая самим MySQL (что-то типа SET ENCODING или SET CHARACTER SET).
У меня везде UTF-8, поэтому проблем не наблюдалось.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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