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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: QSqlTableModel и обрыв связи  (Прочитано 4012 раз)
JayFOX
Гость
« : Июнь 29, 2010, 11:44 »

Здравствуйте. Использую QSqlTableModel, подключаюсь к MySQL. Все работает без нареканий, но, в случае обрыва соединения, а затем при восстановлении соединения информация о записях в модели пропадает. Пробовал заново создавать QSqlDatabase или же заново соединяться, помогает лишь пересоздание модели. Помогите, пожалуйста, найти решение без пересоздания объектов.
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #1 : Июнь 29, 2010, 11:50 »

Попробуй не заново создать QSqlDatabase, а на текущем переоткрыть соединение.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
JayFOX
Гость
« Ответ #2 : Июнь 29, 2010, 11:52 »

Код:
onlineDb.close();
onlineDb.open();
В данный момент это реализовано, но не помогает. Это подразумевается под переоткрытием?
Записан
crossly
Гость
« Ответ #3 : Июнь 29, 2010, 11:55 »

сделать модели select()...
Записан
JayFOX
Гость
« Ответ #4 : Июнь 29, 2010, 12:01 »

Не помогает, модель пуста.
Записан
JayFOX
Гость
« Ответ #5 : Июнь 30, 2010, 19:25 »

Кажется, немного продвинулся:
Код:
dataBase = QSqlDatabase::addDatabase("QMYSQL");
dataBase.setHostName("XXX");
dataBase.setDatabaseName("YYY");
dataBase.open();
QSqlTableModel* model = new QSqlTableModel(this,dataBase);
model->setTable("ZZZ");
model->select();
Все хорошо. Затем, после
Код:
database.close();
database.open():
выдается "Unable to find table ZZZ"
Неужели не оживить модель? или я здесь моя ошибка?
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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