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
Mon main.cpp
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
le mainwindows.cpp
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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(); }
Comment pourrais-je commander à la lineEdit d'insérer ce que j'y entre dans zero.un de ma base Postgresql ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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; }
e compte vraiment sur vous sur ce coup,
A bientôt
LeHibou
Partager