Название: [Qt 4.1.4]Соединение с БД Отправлено: Jager-ntr от Апрель 07, 2008, 11:07 Здравствуйте. При соединении с БД у меня возникла следущая проблема:
соединение открывается, структура полей таблицы возвращается правильной,но ни одной строки результата запроса нет,т.е. query.exec(strQuery) возвращает -1 все время. В таблице данные содержатся точно,на другом языке программирования код с той же самой логикой возвращает результат как надо. Код: QSqlDatabase db = QSqlDatabase::addDatabase("QODBC"); СУБД IBM Informix 9.4 Драйвер IBM Informix 3.82 Название: Re: [Qt 4.1.4]Соединение с БД Отправлено: Mikhail от Апрель 07, 2008, 19:05 Здравствуйте. При соединении с БД у меня возникла следущая проблема: соединение открывается, структура полей таблицы возвращается правильной,но ни одной строки результата запроса нет,т.е. query.exec(strQuery) возвращает -1 все время. В таблице данные содержатся точно,на другом языке программирования код с той же самой логикой возвращает результат как надо. Код: QSqlDatabase db = QSqlDatabase::addDatabase("QODBC"); СУБД IBM Informix 9.4 Драйвер IBM Informix 3.82 В $(QTDIR)/demos/sqlbrowser есть полностью рабочий пример. Подключись с его помощью к твоей базе и выдай запрос. Либо получишь ответ: содержимое таблицы, либо получишь сообщение об ошибке. От него и пляши. В примере можно посмотреть структуру базы и содержимое таблиц. Название: Re: [Qt 4.1.4]Соединение с БД Отправлено: Примерный ученик от Апрель 08, 2008, 06:56 Если не ошибаюсь, то в
QSqlDatabase db = QSqlDatabase::addDatabase("QODBC"); нужно писать QSqlDatabase db = QSqlDatabase::addDatabase("QODBC3"); Название: Re: [Qt 4.1.4]Соединение с БД Отправлено: Deiv от Апрель 11, 2008, 07:23 Здравствуйте. При соединении с БД у меня возникла следущая проблема: соединение открывается, структура полей таблицы возвращается правильной,но ни одной строки результата запроса нет,т.е. query.exec(strQuery) возвращает -1 все время. В таблице данные содержатся точно,на другом языке программирования код с той же самой логикой возвращает результат как надо. ... ОС Windows XP СУБД IBM Informix 9.4 Драйвер IBM Informix 3.82 При создании источника данных ODBC используя драйвер информикс необходимо знать - что по дефолту драйвер будет предоставлять только однонаправленные курсоры. Которые QT не переваривает. В настройках источника в закладке Адвансед нужно поставить галку для Scrollable Cursor. Название: Re: [Qt 4.1.4]Соединение с БД Отправлено: pastor от Апрель 11, 2008, 12:20 Если не ошибаюсь, то в QSqlDatabase db = QSqlDatabase::addDatabase("QODBC"); нужно писать QSqlDatabase db = QSqlDatabase::addDatabase("QODBC3"); откуда ветер? Название: Re: [Qt 4.1.4]Соединение с БД Отправлено: Примерный ученик от Апрель 11, 2008, 21:18 QODBC3
так драйвер называется... Коммерческая версия Qt включает в себя следующий набор драйверов: QODBC3 (ODBC), QOCI8 (Oracle), QTDS7 (Sybase Adaptive Server), QPSQL7 (PostgreSQL), QMYSQL3 (MySQL), and QDB2 (IBM DB2). Название: Re: [Qt 4.1.4]Соединение с БД Отправлено: pastor от Апрель 11, 2008, 21:40 QODBC3 так драйвер называется... Коммерческая версия Qt включает в себя следующий набор драйверов: QODBC3 (ODBC), QOCI8 (Oracle), QTDS7 (Sybase Adaptive Server), QPSQL7 (PostgreSQL), QMYSQL3 (MySQL), and QDB2 (IBM DB2). Эти имена драйверов БД справедливы для Qt 3 http://doc.trolltech.com/3.3/qsqldatabase.html а у автора темы Qt 4.1.4 http://doc.trolltech.com/4.1/qsqldatabase.html Название: Re: [Qt 4.1.4]Соединение с БД Отправлено: Примерный ученик от Апрель 11, 2008, 21:46 Извиняюсь, пока работаю только с QT 3
Хотя, хоть убейте, не понимаю, зачем было менять названия? Что бы запутать при переходе на новую версию? Название: Re: [Qt 4.1.4]Соединение с БД Отправлено: s.c.o.r.p.i.o.n. от Ноябрь 12, 2009, 14:18 Хочу вывести ошибку при неудачном соединении к БД, делаю это таким образом
Код
При компиляции выдат ошибку error: ‘(QMessageBox::Icon)3u’ cannot be used as a function. Название: Re: [Qt 4.1.4]Соединение с БД Отправлено: BaltikS от Ноябрь 12, 2009, 14:50 QMessageBox::Critical пишется так QMessageBox::сritical
Название: Re: [Qt 4.1.4]Соединение с БД Отправлено: s.c.o.r.p.i.o.n. от Ноябрь 12, 2009, 14:55 спасибо :)
|