Название: Qt + PostgreSQL Отправлено: almareta от Август 09, 2010, 10:04 Здравствуйте!Я с вопросом, никак не могу разобраться.Нашла урок по Qt http://symmetrica.net/qt4/lesson1.htm (http://symmetrica.net/qt4/lesson1.htm) в котором работают с базой данных.
Сделала всё как описано - не выходит, попробовала скачать исходники и скомпилировать(предварительно описав в консоли вышеуказанные команды) - тоже не выходит.Пишет,как указано в коде,"БД не найдена". С PostgreSQL работала через pgAdmin 3 (v 1.10.0), так более наглядно(с SQL запросами достаточно не плохо знакома, умею создавать таблицы, заполнять данными и "вытаскивать" нужную информацию ). Пожалуйста помогите разобраться! Вот код main.cpp Код: #include <QtDebug> tableviewer.pro Код: TEMPLATE = app Версия PostgreSQL 8.4.2 OC Linux Название: Re: Qt + PostgreSQL Отправлено: crossly от Август 09, 2010, 10:49 а b.lastError().text() что говорит??
Название: Re: Qt + PostgreSQL Отправлено: almareta от Август 09, 2010, 10:54 "Бд не найдена"
Проблема заключается ещё в следующем. В уроке написано ...запустите сервер PostrgeSQL а вашем компьютере. Далее командуйте createdb testdb теперь войдите в консольный клиент PostrgeSQL: psql testdb и скомандуйте \i createtable.sql Ввожу консоль psql вышеприведённые команды. После строчки \i createtable.sql пишет "Нет такого файла или каталога" Название: Re: Qt + PostgreSQL Отправлено: crossly от Август 09, 2010, 11:13 ну дык там же написано http://symmetrica.net/qt4/qt4-1src.tar.gz (http://symmetrica.net/qt4/qt4-1src.tar.gz) там есть этот файлик
Название: Re: Qt + PostgreSQL Отправлено: almareta от Август 09, 2010, 11:15 Собственно я и компилирую то, что в примере )
Название: Re: Qt + PostgreSQL Отправлено: almareta от Август 09, 2010, 11:59 Возможно я что-то неправильно делаю...
Название: Re: Qt + PostgreSQL Отправлено: mega от Август 09, 2010, 13:00 А драйвер для постгре собирали? По умолчанию его нет. По пути qt\plugins\sqldrivers (может и другой путь) на вашем компьютере должны лежать файлы для различных БД. Посмотрите там. Если нет, то читайте мануалы по сборке.
Вот ссылка на офиц. руководство http://doc.qt.nokia.com/4.5/sql-driver.html#how-to-build-the-qpsql-plugin-on-unix-and-mac-os-x. Название: Re: Qt + PostgreSQL Отправлено: crossly от Август 09, 2010, 13:00 там есть нужный тебе *.sql файл
Название: Re: Qt + PostgreSQL Отправлено: almareta от Август 09, 2010, 13:18 Спасибо за столь оперативные ответы! :)
Сейчас буду пытаться. Название: Re: Qt + PostgreSQL Отправлено: almareta от Август 09, 2010, 13:32 Ввожу в консоль то, что пишут в документации:
Код: cd $QTDIR/src/plugins/sqldrivers/psql Нет такого файла или каталога. Вопрос как мне узнать директорию куда Qt установлен.Устанавливался он вообще через Synaptic. Название: Re: Qt + PostgreSQL Отправлено: crossly от Август 09, 2010, 14:31 qmake -v
Название: Re: Qt + PostgreSQL Отправлено: almareta от Август 09, 2010, 14:39 показал путь /usr/lib/
Только там нет папки plugins или хоть что-то касающееся SQL Название: Re: Qt + PostgreSQL Отправлено: BRE от Август 09, 2010, 15:05 показал путь /usr/lib/ Посмотри в /usr/lib/qt4Только там нет папки plugins или хоть что-то касающееся SQL Название: Re: Qt + PostgreSQL Отправлено: кып от Август 09, 2010, 15:12 Вопрос как мне узнать директорию куда Qt установлен.Устанавливался он вообще через Synaptic. Установи драйвер для postgresql через Synaptic и будет щастье.Поищи пакет что-то вроде libqt4-pgsql Название: Re: Qt + PostgreSQL Отправлено: almareta от Август 09, 2010, 15:25 показал путь /usr/lib/ Посмотри в /usr/lib/qt4Только там нет папки plugins или хоть что-то касающееся SQL Папку с плагинами нашла, дров под Postgre там не было.Нашла через Synaptic плагин, загрузила, установила.В папке появился ещё один файл libqsqlpsql.so. Скомпилировала прогу.Появилась следующая ошибка. Starting /home/gorans/QT profects/qt4-1src/tableviewer... "Бд не найдена" "FATAL: database "testdb" does not exist QPSQL: Unable to connect" /home/gorans/QT profects/qt4-1src/tableviewer exited with code 255 Где и что я ещё забыла создать/сделать?) Название: Re: Qt + PostgreSQL Отправлено: almareta от Август 09, 2010, 15:40 и каким образом моя программа взаимодействует с файлом createtable.sql?
Название: Re: Qt + PostgreSQL Отправлено: mega от Август 09, 2010, 15:43 Помнится у меня была такая трабла, что проект собирался только в release-версии. Попробуй. :)
А с помощью createtable.sql просто создаешь таблицу и наполняешь ее данными. Один раз, до запуска программы. В программе просто производится выборка. Название: Re: Qt + PostgreSQL Отправлено: almareta от Август 09, 2010, 15:53 Самое занимательное - запустилось.Но вышла только форма без каких либо данных ))
Название: Re: Qt + PostgreSQL Отправлено: mega от Август 09, 2010, 15:55 Ну значит таблицы нету. Через pgAdmin открой createtable.sql, ну и соответственно запусти на исполнение.
Название: Re: Qt + PostgreSQL Отправлено: crossly от Август 09, 2010, 17:11 Цитировать createdb testdb теперь войдите в консольный клиент PostrgeSQL: psql testdb и скомандуйте \i createtable.sql Ввожу консоль psql вышеприведённые команды. После строчки \i createtable.sql пишет "Нет такого файла или каталога" в createtable.sql создаются таблицы.... у тебя они не созданы... Название: Re: Qt + PostgreSQL Отправлено: almareta от Август 10, 2010, 07:40 ЕЕЕ!Спасибо всем большое, заработало!!!Наконец то разобралась с этой проблемой!!!:)
|