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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: [Решено] Проверка состояния соединения с бд ORACLE и переподключение  (Прочитано 6654 раз)
SeverusSnape
Гость
« : Апрель 29, 2011, 11:30 »

Всем здравствуйте! Недавно только начал работать с базой данных Oracle из Qt. Вопрос в следующем - при запуске программы подключаюсь к базе данных. Через определенное время пользователь выполняет определенные действия (нажимает кнопку), в результате чего получаются данные из БД. Периодически происходит обрыв связи с сервером - вследствие чего это происходит не известно, но и не важно. Вопрос в том, как проверить есть ли соединение с БД и, если нет, как правильнее переподключиться.

Код:
void SQL::setupConnection()
{
db = QSqlDatabase::addDatabase("QOCI");
db.setDatabaseName("ORCL");
db.setHostName("192.168.17.203");
db.setPort(1521);
db.setUserName("1111");
db.setPassword("1");

при нажатии пользователем кнопки:

Код:
bool SQL::connectDatabase()
{
  return db.open();
}

Заранее благодарен за любой совет.
« Последнее редактирование: Апрель 29, 2011, 12:49 от SeverusSnape » Записан
VozaMFC
Гость
« Ответ #1 : Апрель 29, 2011, 11:36 »

Читай доку...
Записан
SeverusSnape
Гость
« Ответ #2 : Апрель 29, 2011, 12:21 »

Читай доку...

Спасибо за совет, конечно... Но на это у меня мозгов и у самого хватило. Интересовало кто как на практике решал поставленную задачу.
То есть, правильно ли я понимаю, что в очередной раз, когда пользователь нажмет на кнопку достаточно будет проверить

Код:
if (db.isOpen())
{
    ...
}
else
{
   db.open();
}

или сразу не заморачиваясь делать db.open();
Записан
SeverusSnape
Гость
« Ответ #3 : Апрель 29, 2011, 12:49 »

Оставил все как есть - работает и ладно. Всем спасибо!
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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