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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Как почерпнуть что-то полезное из lastError()  (Прочитано 6058 раз)
KBAC
Гость
« : Декабрь 10, 2011, 20:57 »

Ошибка открытия БД. Я думаю поможет lastError, но не знаю как посмотреть инфу об ошибке.
Записан
LisandreL
Птица говорун
*****
Offline Offline

Сообщений: 984


Надо улыбаться


Просмотр профиля
« Ответ #1 : Декабрь 10, 2011, 21:23 »

В справке же всё написанно:
QSqlError::type() - тип ошибки. По идее у вас должно быть QSqlError::ConnectionError == 1.

QSqlError::text() - текст ошибки, может как содержать полезную информацию, так и быть просто отпиской, а может и пустой строкой - всё зависит от драйвера.

QSqlError::number() - номер ошибки, можно попробовать поискать в документации к БД, если предыдущий пункт не помог.

Ну и чтобы эти функции вызывались от lastError надо подключить #include <QSqlError>
Записан
KBAC
Гость
« Ответ #2 : Декабрь 10, 2011, 22:24 »

А что делать если дебаггер пишет:
Код:
QSqlDatabase: QODBC driver not loaded
QSqlDatabase: available drivers: QSQLITE
Записан
Rem Norton
Гость
« Ответ #3 : Декабрь 10, 2011, 22:39 »

Тут 2 варианта:
1. Использовать SQLite
2. Установить ODBC
Записан
KBAC
Гость
« Ответ #4 : Декабрь 10, 2011, 22:50 »

Обнаружилось, что вообще только SQLite драйвер присутствует.
Записан
Rem Norton
Гость
« Ответ #5 : Декабрь 10, 2011, 22:58 »

Ну, поехали по классической схеме: какая система, версия Qt, источник установки (собирал из исходников, бинари, репозиторий...)?
Записан
KBAC
Гость
« Ответ #6 : Декабрь 10, 2011, 23:00 »

Скачал на днях с сайта SDK для windows. А очень сложно настроить QODBC или написать свой драйвер?
Записан
Rem Norton
Гость
« Ответ #7 : Декабрь 10, 2011, 23:56 »

ODBC должен быть. Значит установи вот это: http://www.microsoft.com/downloads/ru-ru/details.aspx?FamilyID=78cac895-efc2-4f8e-a9e0-3a1afbd5922e
Записан
KBAC
Гость
« Ответ #8 : Декабрь 11, 2011, 00:22 »

Сомневаюсь, что в этом проблема. Но все таки попробую.
В папке  qtsdk, в которой и лежит сама библиотека, во-первых нет папки src (как в руководствах пишут), во-вторых sqldrivers лежит в C:\QtSDK\Desktop\Qt\4.7.4\mingw\plugins\sqldrivers. В этой папке лежит только ..sqllite..
Я создал папку odbc и засунул туда main.cpp , Makefile, odbc.pro. В командной строке вошел в эту папку пишу "qmake -o Makefile odbc.pro " и cmd не узнает команду.
Записан
LisandreL
Птица говорун
*****
Offline Offline

Сообщений: 984


Надо улыбаться


Просмотр профиля
« Ответ #9 : Декабрь 11, 2011, 00:27 »

ODBC должен быть.
Что ж вы людей путаете? Не идут сейчас в SDK никакие драйверы, кроме SQLite v3.

Скачал на днях с сайта SDK для windows. А очень сложно настроить QODBC или написать свой драйвер?
0) Если ставили без исходников, доустанавливаете их через updater (Справка > Start Updater). Разумеется берите исходники той же версии Qt, с которой будете работать.
1) Идёте в QtSources\4.7.4\src\plugins\sqldrivers\odbc
2) Собираете релизную и дебажную версии библиотеки (можно через Qt Creator).
3) Кладёте 2 полученные dll в папку sqldrivers.
Записан
Rem Norton
Гость
« Ответ #10 : Декабрь 11, 2011, 00:29 »

Мдя... ну просю пардона. Давненько я виндой не пользовался.
Записан
KBAC
Гость
« Ответ #11 : Декабрь 11, 2011, 00:38 »

LisandreL, а можно прямо все на пальцах объяснить, а то я совсем ниче не понимаю в сборке библиотек. Если после прочтения Справка > Start Updater, то можно не расписывать.
Конкретно не понятно что за папка src? Самому ее создать ? Потому что у меня в qtsrc\4.7.4\ только mingw и msvc2008 лежит, а вот уже в mingw plugins. Папка qtsrc это папка Qt из моего прошлого сообщения.
И где почитать про то, как собирать " релизную и дебажную версии библиотеки"?

Rem Norton, MDAC не помог.
Записан
LisandreL
Птица говорун
*****
Offline Offline

Сообщений: 984


Надо улыбаться


Просмотр профиля
« Ответ #12 : Декабрь 11, 2011, 01:38 »

Если после прочтения Справка > Start Updater, то можно не расписывать.
Не понял вас. 0-ой этап прошёл успешно? Папка QtSources появилась?

Конкретно не понятно что за папка src?
Я такую папку не упоминал. Видимо вы какую-то старую инструкцию читаете. Раньше исходники Qt лежали в src, сейчас в QtSources и по умолчанию не устанавливаются.

Самому ее создать ?
Ничего самому создавть не надо.

Потому что у меня в qtsrc
Про эту папку я тоже ничего не говорил.


И где почитать про то, как собирать " релизную и дебажную версии библиотеки"?
Если через Qt Creator, то ровно так же, как и проект. Открываете pro файл, выбираете в диалоге чем будете собирать и будет ли сборка теневой.
Выбираете отладочную сборку, Сборка > Собрать всё.
Выбираете релизную сборку, Сборка > Собрать всё.
Всё, ничего сложного.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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