From dc5387b63c76703f128213ddd81f975a910a53a6 Mon Sep 17 00:00:00 2001 From: giomba Date: Fri, 16 Aug 2019 15:50:00 +0200 Subject: [PATCH] Global unique database connection this looks like the way qt should work, and doing otherwise (creating and destroyng continuously the connection) gives a lot of warnings at runtime --- nicolodi/EditWindow.cpp | 1 - nicolodi/Pin.cpp | 9 ++------- nicolodi/main.cpp | 4 +++- 3 files changed, 5 insertions(+), 9 deletions(-) diff --git a/nicolodi/EditWindow.cpp b/nicolodi/EditWindow.cpp index d88b829..2b25cfe 100644 --- a/nicolodi/EditWindow.cpp +++ b/nicolodi/EditWindow.cpp @@ -5,7 +5,6 @@ EditWindow::EditWindow(int idSocio, QWidget* parent) : QMainWindow(parent), ui(n ui->setupUi(this); if (!db.open()) { - // QMessageBox::critical(this, "Nicolodi", "Problemi con la connessione al db"); showError(db.lastError()); this->doNotShow = true; return; diff --git a/nicolodi/Pin.cpp b/nicolodi/Pin.cpp index d73d1c1..4bbaf9d 100644 --- a/nicolodi/Pin.cpp +++ b/nicolodi/Pin.cpp @@ -2,10 +2,7 @@ #include "ui_Pin.h" #include "EditWindow.h" -Pin::Pin(QWidget *parent) : - QDialog(parent), - ui(new Ui::Pin) -{ +Pin::Pin(QWidget *parent) : QDialog(parent), ui(new Ui::Pin) { ui->setupUi(this); // Imposta la dialog come non ingrandibile/riducibile @@ -30,8 +27,6 @@ void Pin::on_pushButtonOk_clicked() bool questionarioAbilitato; QString pin = ui->lineEditPin->text(); - connectDatabase(); - if (db.open()) { query = QSqlQuery(db); query.prepare("SELECT id, abilitaQuestionario FROM socio WHERE pin = :pin"); @@ -60,7 +55,7 @@ void Pin::on_pushButtonOk_clicked() // sono risorse preziose che si devono aprire, usare per il minor // tempo possibile e quindi chiudere query.clear(); - db.close(); + //db.close(); } else { QMessageBox::critical(this, "Nicolodi", "Impossibile connettersi al database, verificare impostazioni."); } diff --git a/nicolodi/main.cpp b/nicolodi/main.cpp index 623b8ff..a6b2e95 100644 --- a/nicolodi/main.cpp +++ b/nicolodi/main.cpp @@ -4,7 +4,9 @@ int main(int argc, char *argv[]) { QApplication a(argc, argv); - // MainWindow w; + + connectDatabase(); + Pin w; w.show();