Название: Использование 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 Спасибо, Пантер!
|