Название: query.lastError().text() не выводит ошибку Отправлено: admsasha от Сентябрь 21, 2009, 08:14 Код:
Этот код работает замечательно. Код: QSqlQuery query(QSqlDatabase::database("test")); случайно ошибаюсь и пишу так Код: QSqlQuery query(QSqlDatabase::database("test")); но query.lastError().text() выдает "". Почему нет текста ? Как правильно вывести текст ошибки ? Название: Re: query.lastError().text() не выводит ошибку Отправлено: ecspertiza от Сентябрь 21, 2009, 11:01 Если я правильно понимаю то prepare() немного для другого предназначен
попробуй так Код: QSqlQuery query; Название: Re: query.lastError().text() не выводит ошибку Отправлено: admsasha от Сентябрь 21, 2009, 11:34 Если я правильно понимаю то prepare() немного для другого предназначен попробуй так Код: QSqlQuery query; Да, так показывает. Но мне нужно вставлять параметры в SQL, в случае prepare я делал это через bindValue, а тут как быть ? Название: Re: query.lastError().text() не выводит ошибку Отправлено: ecspertiza от Сентябрь 21, 2009, 12:24 Я просто думаю что это зависит от запросов, если ты делаешь просто Select то наверное не стоит пользоваться prepare()
А вот если с подстановкой параметров то можно и с prepare(); может prepare() если без параметров не отрабатывает или ещё что, точно сказать не могу. Ты можешь формировать сначала строку запроса просто в QString а потом подставлять её в exec(); Ну и накройняк ты после выполнения exec() можешь посмотреть какой у тебя запрос в БД пошёл QSqlQuery::lastQuery(); Название: Re: query.lastError().text() не выводит ошибку Отправлено: lit-uriy от Сентябрь 21, 2009, 12:54 Можно попробовать ещё тип ошибки проверять.
У меня были случаи, когда возвращается ошибка типа QSqlError::ConnectionError, но текста тоже ни какого. |