저는 Ct (C/C++/Java/PHP에 대한 약간의 경험이 있지만) Qt의 초보자입니다. PostgreSQL 데이터베이스를 사용하는 이전 프로그램을 Qt GUI로 마이그레이션하려고합니다. 저는 PostgreSQL v2를 사용 중이며 최근 QT 5.3.0 (MinGW 32 비트 용)을 다운로드했습니다.QT 5.3과 postgresql을 연결하십시오
Anu라는 예제 위젯 응용 프로그램을 만들었습니다.
QT += sql
QT += core gui
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
TARGET = Anu
TEMPLATE = app
SOURCES += main.cpp\
mainwindow.cpp
HEADERS += mainwindow.h
FORMS += mainwindow.ui
을 그리고 mainwindow.cpp은 다음과 같습니다 : :이 Anu.pro 파일은 다음과 같다 가능한 드라이버 : QPSQL 드라이버 QSqlDatabase를로드하지 : 컴파일에서 오류가 QSqlDatabase 보여줍니다
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QSqlDatabase>
#include <QtSql>
#include <QMessageBox>
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
}
MainWindow::~MainWindow()
{
delete ui;
}
void MainWindow::on_pushButton_clicked()
{
QSqlDatabase db = QSqlDatabase::addDatabase("QPSQL");
db.setHostName("localhost");
db.setDatabaseName("basicaccount");
db.setUserName("postgres");
db.setPassword("root");
db.setPort(5435);
bool ok = db.open();
if(ok != true)
{
QMessageBox::information(this,"Connection","Connection Failed!") ;
}
else
{
QMessageBox::information(this,"Connection","Connection OK!") ;
QSqlQueryModel model;
model.setQuery("select * from invoice ");
//ui->tableView->setModel(&model);
QMessageBox::information(this,"Information","This Message box is needed in order to see the rendered tableview!") ;
}
}
QSQLITE을 QMYSQL QMYSQL3 QODBC QODBC3 QPSQL QPSQL7. 여기에 정보를 사용하여 플러그인을 만들려고했습니다 : http://qt-project.org/doc/qt-5/sql-driver.html. 나는 Qt를 위해 명령 프롬프트를 열고이 넣어 :
문제가cd E:\Qt\Qt5.3.0\5.3\mingw482_32\plugins\sqldrivers\psql
qmake "INCLUDEPATH+=E:\Program Files\PostgreSQL\9.2\include" "LIBS+=E:\Program Files\PostgreSQL\9.2\lib\libpq.lib" psql.pro
nmake
, 내가 폴더 sqldrivers에 src 폴더 또는 psql의를 찾을 수 있습니다. 그 폴더에서 qsqlpsql.dll 만 발견했으며 매번 디렉토리를 찾을 수 없다고 말하면서 사용했습니다. 또한, 'psql.pro'의 의미는 무엇입니까?
도움을 주셔서 감사합니다.