Михаиллл
Михаиллл09 грудня 2018 р. 08:25

Как в QT подключить PostgreSQL

Qt, PostgreSQL

Здравствуйте.
Пытаюсь подключить PostgreSQL 9,6. Разрядность скорей всего 32.
Компилятор MinGW32.
В pro файле дописал
INCLUDEPATH += C:/Program Files (x86)/PostgreSQL/9.6/include
LIBS+= C:/Program Files (x86)/PostgreSQL/9.6/lib/libpq.dll
В проекте срр написал
QSqlDatabase SearchDB = QSqlDatabase::addDatabase("QPSQL");
При работе выдает ошибку:
QSqlDatabase: QPSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QODBC QODBC3 QPSQL QPSQL7
Скажите пожалуйста как правильно подключить PostgreSQL 9,6?

Рекомендуємо хостинг TIMEWEB
Рекомендуємо хостинг TIMEWEB
Стабільний хостинг, на якому розміщується соціальна мережа EVILEG. Для проектів на Django радимо VDS хостинг.

Вам це подобається? Поділіться в соціальних мережах!

8
Evgenii Legotckoi
  • 09 грудня 2018 р. 10:14

Непонятно, вы драйвер скачали или собирали?

Сдаётся мне, что возможно более правильный вариант собрать своим компилятором вначале его, а потом уже подключать.

    Михаиллл
    • 10 грудня 2018 р. 06:59

    оказывается новый драйвер не нужен, так работает:
    https://forum.qt.io/topic/81148/cannot-install-postgresql-driver/8

      Михаиллл
      • 10 грудня 2018 р. 07:29

      С драйвером проблема решена.
      Но дальше пытаюсь подключиться к базе.
      На этом этапе

      QSqlDatabase SearchDB = QSqlDatabase::addDatabase("QPSQL");
          SearchDB.setDatabaseName("CVReader");
          SearchDB.setUserName("postgres");
          SearchDB.setHostName("localhost");
          SearchDB.setPassword("1qaz");
      if (!SearchDB.open()) {qDebug()<<"bd is open";} else {qDebug()<<"bd not open";}
      

      дебаг говорит что база открыта.
      Если дальше делать подключение к таблице

      QSqlTableModel *SearchTableModel = new QSqlTableModel(this);
          SearchTableModel ->setTable("ResumePostgresSQL");
      SearchTableModel->setHeaderData(1,Qt::Horizontal, "Название столбца");
       SearchTableModel->select(); 
      

      то выдает ошибку:
      QSqlDatabasePrivate::database: unable to open database: "could not connect to server: Connection refused (0x0000274D/10061)\n\tIs the server running on host \"localhost\" (::1) and accepting\n\tTCP/IP connections on port 5432?\ncould not connect to server: Connection refused (0x0000274D/10061)\n\tIs the server running on host \"localhost\" (127.0.0.1) and accepting\n\tTCP/IP connections on port 5432?\nQPSQL: Unable to connect"
      Скажите пожалуйста, как правильно подключить эту субд?

        Михаиллл
        • 10 грудня 2018 р. 07:50
        • (відредаговано)

        извините ошибся, на SearchDB.open() база не открывается.
        может быть setHostName нужен другой?

          Evgenii Legotckoi
          • 10 грудня 2018 р. 07:51

          Насколько помню, там нужно ещё порты укзаывать, если подключение идёт к сетевой базе данных и вместо localhost нужно указать ip адрес, в вашем случае "127.0.0.1"

            Evgenii Legotckoi
            • 10 грудня 2018 р. 07:56

            так вроде бы

            SearchDB.setHostName( "192.168.0.1" );
            SearchDB.setPort( 5432 );
            
              Михаиллл
              • 10 грудня 2018 р. 08:03

              Спасибо.
              Дописал так и база открылась

                  SearchDB.setHostName("127.0.0.1");
                  SearchDB.setPort(5434);
              

              Но QSqlTableModel не отображает запрашиваемую таблицу.

                Evgenii Legotckoi
                • 10 грудня 2018 р. 08:10

                Это уже другой, отдельный вопрос )))

                Скорее всего неправильно объявлено что-то в таблице, либо она не создана, либо неправильно читается. Смотрите вывод ошибок

                  Коментарі

                  Only authorized users can post comments.
                  Please, Log in or Sign up
                  sf

                  C++ - Тест 004. Указатели, Массивы и Циклы

                  • Результат:90бали,
                  • Рейтинг балів8
                  МВ

                  Qt - Тест 001. Сигналы и слоты

                  • Результат:68бали,
                  • Рейтинг балів-1
                  ЛС

                  C++ - Тест 001. Первая программа и типы данных

                  • Результат:53бали,
                  • Рейтинг балів-4
                  Останні коментарі
                  A
                  ALO1ZE19 жовтня 2024 р. 05:19
                  Читалка файлів fb3 на Qt Creator Подскажите как это запустить? Я не шарю в программировании и кодинге. Скачал и установаил Qt, но куча ошибок выдается и не запустить. А очень надо fb3 переконвертировать в html
                  ИМ
                  Игорь Максимов05 жовтня 2024 р. 04:51
                  Django - Урок 064. Як написати розширення для Python Markdown Приветствую Евгений! У меня вопрос. Можно ли вставлять свои классы в разметку редактора markdown? Допустим имея стандартную разметку: <ul> <li></li> <li></l…
                  d
                  dblas505 липня 2024 р. 08:02
                  QML - Урок 016. База даних SQLite та робота з нею в QML Qt Здравствуйте, возникает такая проблема (я новичок): ApplicationWindow неизвестный элемент. (М300) для TextField и Button аналогично. Могу предположить, что из-за более новой верси…
                  k
                  kmssr08 лютого 2024 р. 15:43
                  Qt Linux - Урок 001. Автозапуск програми Qt під Linux как сделать автозапуск для флэтпака, который не даёт создавать файлы в ~/.config - вот это вопрос ))
                  АК
                  Анатолий Кононенко04 лютого 2024 р. 22:50
                  Qt WinAPI - Урок 007. Робота з ICMP Ping в Qt Без строки #include <QRegularExpressionValidator> в заголовочном файле не работает валидатор.
                  Тепер обговоріть на форумі
                  J
                  JacobFib17 жовтня 2024 р. 00:27
                  добавить qlineseries в функции Пользователь может получить любые разъяснения по интересующим вопросам, касающимся обработки его персональных данных, обратившись к Оператору с помощью электронной почты https://topdecorpro.ru…
                  ИМ
                  Игорь Максимов03 жовтня 2024 р. 01:05
                  Реализация навигации по разделам Спасибо Евгений!
                  JW
                  Jhon Wick01 жовтня 2024 р. 12:52
                  Indian Food Restaurant In Columbus OH| Layla’s Kitchen Indian Restaurant If you're looking for a truly authentic https://www.laylaskitchenrestaurantohio.com/ , Layla’s Kitchen Indian Restaurant is your go-to destination. Located at 6152 Cleveland Ave, Colu…
                  КГ
                  Кирилл Гусарев27 вересня 2024 р. 06:09
                  Не запускается программа на Qt: точка входа в процедуру не найдена в библиотеке DLL Написал программу на C++ Qt в Qt Creator, сбилдил Release с помощью MinGW 64-bit, бинарнику напихал dll-ки с помощью windeployqt.exe. При попытке запуска моей сбилженной программы выдаёт три оши…
                  F
                  Fynjy22 липня 2024 р. 01:15
                  при создании qml проекта Kits есть но недоступны для выбора Поставил Qt Creator 11.0.2. Qt 6.4.3 При создании проекта Qml не могу выбрать Kits, они все недоступны, хотя настроены и при создании обычного Qt Widget приложения их можно выбрать. В чем может …

                  Слідкуйте за нами в соціальних мережах