Qt + Visual Studio 2013: C++ postgresql verbindung
Verfasst: 7. Juli 2014 11:58
Hallo zusammen,
als blutiger Anfänger versuche ich seit Tagen eine Verbindung zu meiner lokalen PostgreSQL 9.0 (32bit) Datenbank herzustellen. Ich fange am besten mit meinem Setup an:
Folgende Installation unter Windows 8.1 (64bit) mit Visual Studio 2013...
a) Qt 5.3.1 for Windows 32-bit (VS 2013, 559 MB)
b) Visual Studio Add-in 1.2.3 for Qt5
Visual Studio 2013 läuft mit Qt und ich habe ein erstes Qt GUI mit einem Button (objectName->pushButton) und einem Label (objectName->label) gebaut.
In MyApp.h steht nun folgendes:
Der Visual Studio Fehler im Debug Mode lautet:
GUI läuft, Verbindung klappt nicht. Nun habe ich viel recherchiert und einiges versucht. U.a. habe ich in den Visual Studio 2013 Projekteinstellungen folgendes eingetragen...
a) Properties->C/C++->General->Additional Include Directories: "C:\Program Files\PostgreSQL\9.0\include";
b) Properties->Linker->General-> Additional Libary Directories: "C:\Program Files\PostgreSQL\9.0\lib";
c) Properties->Linker->Input->Additional Dependencies: libpq.lib
Auch habe ich einmal die .dll der PostgreSQL Installation in andere Verzeichnisse kopiert...
Für alle die ebenfalls auf der Suche sind befindet sich hier noch ein interessanter Link, der mir bislang aber auch nicht weitergeholfen hat: http://qt-project.org/doc/qt-4.8/qsqldatabase.html
Gruss CodeMeIn
als blutiger Anfänger versuche ich seit Tagen eine Verbindung zu meiner lokalen PostgreSQL 9.0 (32bit) Datenbank herzustellen. Ich fange am besten mit meinem Setup an:
Folgende Installation unter Windows 8.1 (64bit) mit Visual Studio 2013...
a) Qt 5.3.1 for Windows 32-bit (VS 2013, 559 MB)
b) Visual Studio Add-in 1.2.3 for Qt5
Visual Studio 2013 läuft mit Qt und ich habe ein erstes Qt GUI mit einem Button (objectName->pushButton) und einem Label (objectName->label) gebaut.
In MyApp.h steht nun folgendes:
Code: Alles auswählen
#ifndef MyApp_H
#define MyApp_H
#include <QtWidgets/QMainWindow>
#include "ui_MyApp.h"
#include <QSqlDatabase>
#include <QtSql>
class MyApp : public QMainWindow
{
Q_OBJECT
public:
MyApp(QWidget *parent = 0);
~MyApp();
private:
Ui::MyAppClass ui;
// begin new code
public slots:
void on_pushButton_clicked() {
QSqlDatabase db = QSqlDatabase::addDatabase("QPSQL");
db.setHostName("localhost");
db.setDatabaseName("4DB");
db.setUserName("postgres");
db.setPassword("dbpass");
if (!db.open())
ui.label->setText("Connection Failed!");
else
ui.label->setText("Connected");
}
// end new code
};
#endif // MyApp_HCode: Alles auswählen
'MyApp.exe' (Win32): Loaded 'C:\Qt\Qt5.3.1\5.3\msvc2013\plugins\sqldrivers\qsqlpsqld.dll'. Symbols loaded.
'MyApp.exe' (Win32): Unloaded 'C:\Qt\Qt5.3.1\5.3\msvc2013\plugins\sqldrivers\qsqlpsqld.dll'
QSqlDatabase: QPSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QODBC QODBC3 QPSQL QPSQL7a) Properties->C/C++->General->Additional Include Directories: "C:\Program Files\PostgreSQL\9.0\include";
b) Properties->Linker->General-> Additional Libary Directories: "C:\Program Files\PostgreSQL\9.0\lib";
c) Properties->Linker->Input->Additional Dependencies: libpq.lib
Auch habe ich einmal die .dll der PostgreSQL Installation in andere Verzeichnisse kopiert...
Egal was ich mache, die Verbindung klappt nicht und ich finde keine Quelle im Netz. So schwer kann das doch nicht sein, eine Verbindung mit der Datenbank zu erhalten. Ich hoffe mir kann jemand helfen.Von...
C:\Program Files\PostgreSQL\9.0\bin
nach..
Visual-Studio-Projekt\Win32\Debug
und nach...
Visual-Studio-Projekt\Win32\Release
libeay32.dll
libiconv-2.dll
libintl-8.dll
libpq.dll
libxml2.dll
libxslt.dll
ssleay32.dll
zlib1.dll
Für alle die ebenfalls auf der Suche sind befindet sich hier noch ein interessanter Link, der mir bislang aber auch nicht weitergeholfen hat: http://qt-project.org/doc/qt-4.8/qsqldatabase.html
Gruss CodeMeIn