Aide a la compréhension QtSQql
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:
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";
}
} |