Bonjour,
Je voulais faire une simulation de page d'authentification donc j'ai fait mon interface avec Qt Creator dans mon fichier .ui.
J'ai voulu également m'essayer à <QtSql> et donc stocker de faux username et password dans un tableau.
J'ai suivi la documentation pour créer une base de donnée, un tableau, etc avec <QtSql>, mon code marche mais par rapport a un autre projet de Task_Manager où j'ai utiliser la library <sqlite3.h> je n'ai pas de bdd qui se créer dans mon dossier.
Je me demande donc comment mon code puisse marcher? Et ou est cette bdd?
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58 #include "Page.h" #include "ui_Page.h" Auth_Page_DB::Auth_Page_DB(QWidget *parent) : QMainWindow(parent) , ui(new Ui::Auth_Page_DB) { ui->setupUi(this); db = QSqlDatabase::addDatabase("QSQLITE"); db.setHostName("localhost"); db.setDatabaseName("DB.sqlite"); db.setUserName("root"); db.setPassword(""); if(!db.open()) { qDebug() << "Impossible d'ouvrir la base de données !"; return; } QSqlQuery query; // Requête SQL pour créer la table utilisateur query.prepare("CREATE TABLE users (" "id INTEGER PRIMARY KEY AUTOINCREMENT, " "username TEXT, " "password TEXT" ")"); if (query.exec()) { qDebug() << "Table utilisateur créée avec succès."; } else { qDebug() << "Erreur lors de la création de la table utilisateur : " << query.lastError().text(); } connect(ui->ConnexionButton,SIGNAL(clicked()),this,SLOT(OnConnexionButton())); } Auth_Page_DB::~Auth_Page_DB() { delete ui; } void Auth_Page_DB::OnConnexionButton(){ QSqlQuery query; query.prepare("SELECT * FROM users WHERE username = :username AND password = :password"); query.bindValue(":username", ui->UsernameEdit->text()); query.bindValue(":password", ui->PasswordEdit->text()); if (query.exec() && query.next()) { // Si une correspondance est trouvée, l'authentification est réussie qDebug() << "Authentification réussie"; } else { // Aucune correspondance trouvée, l'authentification a échoué qDebug() << "Echec de l'authentification"; } }
Partager