Название: Как почерпнуть что-то полезное из lastError() Отправлено: KBAC от Декабрь 10, 2011, 20:57 Ошибка открытия БД. Я думаю поможет lastError, но не знаю как посмотреть инфу об ошибке.
Название: Re: Как почерпнуть что-то полезное из lastError() Отправлено: LisandreL от Декабрь 10, 2011, 21:23 В справке же всё написанно:
QSqlError::type() - тип ошибки. По идее у вас должно быть QSqlError::ConnectionError == 1. QSqlError::text() - текст ошибки, может как содержать полезную информацию, так и быть просто отпиской, а может и пустой строкой - всё зависит от драйвера. QSqlError::number() - номер ошибки, можно попробовать поискать в документации к БД, если предыдущий пункт не помог. Ну и чтобы эти функции вызывались от lastError надо подключить #include <QSqlError> Название: Re: Как почерпнуть что-то полезное из lastError() Отправлено: KBAC от Декабрь 10, 2011, 22:24 А что делать если дебаггер пишет:
Код: QSqlDatabase: QODBC driver not loaded Название: Re: Как почерпнуть что-то полезное из lastError() Отправлено: Rem Norton от Декабрь 10, 2011, 22:39 Тут 2 варианта:
1. Использовать SQLite 2. Установить ODBC Название: Re: Как почерпнуть что-то полезное из lastError() Отправлено: KBAC от Декабрь 10, 2011, 22:50 Обнаружилось, что вообще только SQLite драйвер присутствует.
Название: Re: Как почерпнуть что-то полезное из lastError() Отправлено: Rem Norton от Декабрь 10, 2011, 22:58 Ну, поехали по классической схеме: какая система, версия Qt, источник установки (собирал из исходников, бинари, репозиторий...)?
Название: Re: Как почерпнуть что-то полезное из lastError() Отправлено: KBAC от Декабрь 10, 2011, 23:00 Скачал на днях с сайта SDK для windows. А очень сложно настроить QODBC или написать свой драйвер?
Название: Re: Как почерпнуть что-то полезное из lastError() Отправлено: Rem Norton от Декабрь 10, 2011, 23:56 ODBC должен быть. Значит установи вот это: http://www.microsoft.com/downloads/ru-ru/details.aspx?FamilyID=78cac895-efc2-4f8e-a9e0-3a1afbd5922e
Название: Re: Как почерпнуть что-то полезное из lastError() Отправлено: KBAC от Декабрь 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 не узнает команду. Название: Re: Как почерпнуть что-то полезное из lastError() Отправлено: LisandreL от Декабрь 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. Название: Re: Как почерпнуть что-то полезное из lastError() Отправлено: Rem Norton от Декабрь 11, 2011, 00:29 Мдя... ну просю пардона. Давненько я виндой не пользовался.
Название: Re: Как почерпнуть что-то полезное из lastError() Отправлено: KBAC от Декабрь 11, 2011, 00:38 LisandreL, а можно прямо все на пальцах объяснить, а то я совсем ниче не понимаю в сборке библиотек. Если после прочтения Справка > Start Updater, то можно не расписывать.
Конкретно не понятно что за папка src? Самому ее создать ? Потому что у меня в qtsrc\4.7.4\ только mingw и msvc2008 лежит, а вот уже в mingw plugins. Папка qtsrc это папка Qt из моего прошлого сообщения. И где почитать про то, как собирать " релизную и дебажную версии библиотеки"? Rem Norton, MDAC не помог. Название: Re: Как почерпнуть что-то полезное из lastError() Отправлено: LisandreL от Декабрь 11, 2011, 01:38 Если после прочтения Справка > Start Updater, то можно не расписывать. Не понял вас. 0-ой этап прошёл успешно? Папка QtSources появилась?Конкретно не понятно что за папка src? Я такую папку не упоминал. Видимо вы какую-то старую инструкцию читаете. Раньше исходники Qt лежали в src, сейчас в QtSources и по умолчанию не устанавливаются.Самому ее создать ? Ничего самому создавть не надо.Потому что у меня в qtsrc Про эту папку я тоже ничего не говорил.И где почитать про то, как собирать " релизную и дебажную версии библиотеки"? Если через Qt Creator, то ровно так же, как и проект. Открываете pro файл, выбираете в диалоге чем будете собирать и будет ли сборка теневой.Выбираете отладочную сборку, Сборка > Собрать всё. Выбираете релизную сборку, Сборка > Собрать всё. Всё, ничего сложного. |