Название: Использование QSqlTableModel Отправлено: Garfild от Март 16, 2010, 15:06 Доброго времени суток!!!
Есть такая проблеммка...почему-то при использовании QSqlTableModel и закрытии после этого программы выскакивет предупреждение Код Делаю так Код
Название: Re: Использование QSqlTableModel Отправлено: MoPDoBoPoT от Март 16, 2010, 15:39 Цитата: QtAssistant void QSqlDatabase::removeDatabase ( const QString & connectionName ) [static] К моменту удаления соединения, у тебя оказался не разрушенным объект, связанный с БД.Убирает соединение connectionName из списка соединений с базой данных. Внимание: Во время вызова этой функции не должно быть открытых запросов к данной базе данных, в противном случае произойдёт утечка ресурса (resource leak). Пример: Код: // НЕПРАВИЛЬНО Вот правильный вариант реализации: Код: { Для удаления соединения по умолчанию, которое может быть создано вызовом addDatabase() без указания имени соединения, вы можете отыскать имя соединения по умолчанию вызвав connectionName() на базе данных, возвращаемой database(). Обратите внимание на то, что если база данных по умолчанию не была создана, то будет возвращена неверная база данных. Название: Re: Использование QSqlTableModel Отправлено: Garfild от Март 16, 2010, 16:13 ЭТ я знаю...т.е. получается,что при работе с QSQlTableModel создается новое соединение с БД??? Если вместо QSQlTableModel использовать QSqlQueryModel то таких предупреждение не возникает
Название: Re: Использование QSqlTableModel Отправлено: Пантер от Март 16, 2010, 17:17 Новое соединение не создается, просто соединение удерживается моделью. Просто перед удалением соединения, удали модель.
Название: Re: Использование QSqlTableModel Отправлено: chu от Ноябрь 09, 2010, 00:35 Написал вот такую функцию:
Код: void MainForm::closeEvent(QCloseEvent *event) { но сообщение все равно вылазит... Название: Re: Использование QSqlTableModel Отправлено: Пантер от Ноябрь 09, 2010, 00:42 Мдя. Некропостеры активировались. Осень что ли сказывается. :)
Модели используешь? В closeEvent они еще не удалены. Название: Re: Использование QSqlTableModel Отправлено: chu от Ноябрь 09, 2010, 01:44 дописал:
Код: void MainForm::closeEvent(QCloseEvent *event) { Название: Re: Использование QSqlTableModel Отправлено: Пантер от Ноябрь 09, 2010, 10:12 Код
Название: Re: Использование QSqlTableModel Отправлено: crossly от Ноябрь 09, 2010, 13:23 Цитировать Делаю так а может не заниматься ерундой и просто назначить модели парента??Код C++ (Qt) QSQlTableModel *model = new QSqlTableModel; model->setTable("table"); model->select(); ui.tableView->setModel(model); Код: QSqlTableModel *model = new QSqlTableModel(this); Название: Re: Использование QSqlTableModel Отправлено: chu от Ноябрь 09, 2010, 13:33 Спасибо, Пантер!
|