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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Распознать причину ошибки QSqlError::ConnectionError  (Прочитано 3651 раз)
INZER
Гость
« : Октябрь 22, 2013, 10:21 »

Провожу анализ ошибок БД.

Код:
    switch (db.lastError().type())
    {
    case QSqlError::NoError:
        break;
    case QSqlError::ConnectionError:
        changeDataBase();
        break;
    case QSqlError::StatementError:
        QMessageBox::critical(this,QString::fromLocal8Bit("Ошибка БД"), QString::fromLocal8Bit("Ошибка в запросе"),QMessageBox::Ok,QMessageBox::NoButton);
        break;
    case QSqlError::TransactionError:
        QMessageBox::critical(this,QString::fromLocal8Bit("Ошибка БД"), QString::fromLocal8Bit("Ошибка транзакции"),QMessageBox::Ok,QMessageBox::NoButton);
        break;
    case QSqlError::UnknownError:
        QMessageBox::critical(this,QString::fromLocal8Bit("Ошибка БД"), QString::fromLocal8Bit("Ошибка Базы Данных."),QMessageBox::Ok,QMessageBox::NoButton);
        break;
    }

Необходимо проанализировать ошибку QSqlError::ConnectionError. Из-за чего нет соединения (нет доступа к серверу, неправильный логин - пароль и т.д.). QSqlError::number () во всех случаях возвращает -1

Цитировать
int QSqlError::number () const
Returns the database-specific error number, or -1 if it cannot be determined.

Функция databaseText () выдает описание ошибки, но оно не юсер-френдли

Цитировать
QString QSqlError::databaseText () const
Returns the text of the error as reported by the database. This may contain database-specific descriptions; it may be empty.
Записан
KILLER-PC
Гость
« Ответ #1 : Октябрь 22, 2013, 14:12 »

Ну этим кодом проанализировать врятли получится. Надо смотреть на сам запрос, и то как он обрабатывается.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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