Lier un champ Qt avec une base de données
Bonjour,
Je deviens fou, je crois.
Mon But :
Lier les champs de l'interface QT avec ma base de données QT.
J'ai lu pas mal d'info à propos de QDataWidgetMapper, mais cela ne semble pas correspondre à mes besoins.
------------------------------------------------------------------------------
Contexte :
On va utiliser ma table test de ma base de données :
Il y a
- un schéma zero
- une table un
- une colonne deux
------------------------------------------------------------------------------
Mon code :
J'utilise Qt Creator avc le code ci-dessous :
Gestion.pro
Code:
1 2 3 4 5 6 7 8 9 10 11 12
| QT += core gui
QT += sql
TARGET = Gestion
TEMPLATE = app
SOURCES += main.cpp\
mainwindow.cpp
HEADERS += mainwindow.h
FORMS += mainwindow.ui |
Mon main.cpp
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
| #include <QtGui/QApplication>
#include <QCoreApplication>
#include <QtSql/QtSql>
#include <QtSql/QSqlDatabase>
#include <QtSql/QSqlQuery>
#include <iostream>
#include "mainwindow.h"
#define q2c(string) string.toStdString()
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QSqlDatabase db = QSqlDatabase::addDatabase("QPSQL");
db.setHostName("localhost");
db.setPort(5433);
db.setDatabaseName("totof");
db.setUserName("postgres");
db.setPassword("password");
db.open();
MainWindow w;
w.show();
return a.exec();
} |
le mainwindows.cpp
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| #include "mainwindow.h"
#include "ui_mainwindow.h"
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
mapper = new QDataWidgetMapper(this);
mapper->addMapping(ui->lineEdit,0);
}
MainWindow::~MainWindow()
{
delete ui;
} |
Comment pourrais-je commander à la lineEdit d'insérer ce que j'y entre dans zero.un de ma base Postgresql ?
e compte vraiment sur vous sur ce coup,
A bientôt
LeHibou