crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> незакрывается подключение к БД после запросов
zloyGamer
  опции профиля:
сообщение 6.12.2009, 22:02
Сообщение #1


Студент
*

Группа: Участник
Сообщений: 22
Регистрация: 18.7.2009
Пользователь №: 917

Спасибо сказали: 0 раз(а)




Репутация:   0  


подскажите как поправить, или что тут может быть не так, к примеру есть простая форма с вьюхой QSqlQueryModel m_model;

  QSqlDatabase::removeDatabase( "test" );
  QSqlDatabase db = QSqlDatabase::addDatabase( "QIBASE"  , "test" );
  db.setHostName( "127.0.0.1" );
  db.setPort( 3050 );
  db.setDatabaseName( "D:\\test.FDB" );
  db.setConnectOptions( "" );
  db.setUserName( "SYSDBA" );
  db.setPassword( "masterkey" );


далее если выполнить:
  db.open();  
  //...
  db.close();

то FB вначале выдает что было 1 соединение а потом 0

а если выполнить какието операции с бд:
  db.open();  
  QSqlQuery q("SELECT * FROM ui_table",db);
  m_model.setQuery(q);
  ui->view->setModel(&m_model);
  db.close();

то FB вначале выдает что было 1 соединение а после db.close(); всеравно остается 1 соединение, но из приложения уже нельзя выполнять запросы
а если далее опять вызвать db.open(); то FB выдает что уже установлено 2 соединения, и т.д.
все соединения обрываются тока после закрытия приложения, как это можно исправить?
что можно сделать чтобы соединение корректно закрывалось?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
MoPDoBoPoT
  опции профиля:
сообщение 8.12.2009, 15:54
Сообщение #2


Участник
**

Группа: Участник
Сообщений: 172
Регистрация: 7.5.2009
Из: Москва
Пользователь №: 738

Спасибо сказали: 44 раз(а)




Репутация:   9  


Дело скорей всего в драйвере, ибо у меня с Oracle закрывается соединение.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
zloyGamer
  опции профиля:
сообщение 8.12.2009, 16:44
Сообщение #3


Студент
*

Группа: Участник
Сообщений: 22
Регистрация: 18.7.2009
Пользователь №: 917

Спасибо сказали: 0 раз(а)




Репутация:   0  


Цитата(MoPDoBoPoT @ 8.12.2009, 15:54) *
Дело скорей всего в драйвере, ибо у меня с Oracle закрывается соединение.

я тож так подумал, потому несколько раз пробывал пересобирать длл'ки qsqlibase4.dll и qsqlibased4.dll для FB2.0 и FB2.1 всеравно результат тотже,
ща думаю что дело в статических функциях и переменных QSqlDatabase, QSqlQuery или QSqlQueryModel, думаю что гдето там собака зарыта ))
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


11 чел. читают эту тему (гостей: 11, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 5.12.2024, 0:49