незакрывается подключение к БД после запросов |
Здравствуйте, гость ( Вход | Регистрация )
незакрывается подключение к БД после запросов |
zloyGamer |
6.12.2009, 22:02
Сообщение
#1
|
Студент Группа: Участник Сообщений: 22 Регистрация: 18.7.2009 Пользователь №: 917 Спасибо сказали: 0 раз(а) Репутация: 0 |
подскажите как поправить, или что тут может быть не так, к примеру есть простая форма с вьюхой QSqlQueryModel m_model;
далее если выполнить:
то FB вначале выдает что было 1 соединение а потом 0 а если выполнить какието операции с бд:
то FB вначале выдает что было 1 соединение а после db.close(); всеравно остается 1 соединение, но из приложения уже нельзя выполнять запросы а если далее опять вызвать db.open(); то FB выдает что уже установлено 2 соединения, и т.д. все соединения обрываются тока после закрытия приложения, как это можно исправить? что можно сделать чтобы соединение корректно закрывалось? |
|
|
Kagami |
6.12.2009, 22:33
Сообщение
#2
|
Старейший участник Группа: Участник Сообщений: 601 Регистрация: 2.2.2009 Пользователь №: 523 Спасибо сказали: 101 раз(а) Репутация: 9 |
У QSqlQuery есть метод finish(), у QSqlQueryModel есть метод query(), который возвращает хранящийся в этой модели объект QSqlQuery. Если у тебя есть запросы, которые не уничтожаются после выхода из функции (т.е. создаются динамически), то для них было бы неплохо вызывать метод finish().
|
|
|
zloyGamer |
7.12.2009, 21:54
Сообщение
#3
|
Студент Группа: Участник Сообщений: 22 Регистрация: 18.7.2009 Пользователь №: 917 Спасибо сказали: 0 раз(а) Репутация: 0 |
У QSqlQuery есть метод finish(), у QSqlQueryModel есть метод query(), который возвращает хранящийся в этой модели объект QSqlQuery. Если у тебя есть запросы, которые не уничтожаются после выхода из функции (т.е. создаются динамически), то для них было бы неплохо вызывать метод finish(). ща проверил: m_model.query().finish(); db.close(); db.removeDatabase("test"); тож самое получается, подключение(я) незакрываются, т.е. закрываются тока при закрытии самого приложения или в случае если небыло запросов после открытия бд. что еще можно попробывать? |
|
|
Текстовая версия | Сейчас: 5.12.2024, 0:30 |