![]() |
Chrono-Cross
1.1
BTS SN-IR La Salle Avignon 2018
|
00001 #ifndef BASEDEDONNEES_H 00002 #define BASEDEDONNEES_H 00003 00004 #include <QObject> 00005 #include <QtSql/QtSql> 00006 #include <QSqlDatabase> 00007 #include <QMutex> 00008 00009 //#define DEBUG_BASEDEDONNEES 00010 00011 #ifdef Q_OS_WIN // PC Course sous Windows 00012 #define HOSTNAME "192.168.52.118" 00013 #define USERNAME "root" 00014 #define PASSWORD "" 00015 #define DATABASENAME "Chrono-cross" 00016 #else // PC Course sous Linux 00017 #define HOSTNAME "192.168.52.119" 00018 #define USERNAME "root" 00019 #define PASSWORD "password" 00020 #define DATABASENAME "Chrono-cross" 00021 #endif 00022 00036 class BaseDeDonnees : public QObject 00037 { 00038 Q_OBJECT 00039 public: 00040 static BaseDeDonnees* getInstance(); 00041 static void detruireInstance(); 00042 00043 QString getNomBaseDonnees() const; 00044 bool connecter(QString serveur = HOSTNAME, QString nomBase = DATABASENAME); 00045 /* uniquement pour : UPDATE, INSERT et DELETE */ 00046 bool executer(QString requete); 00047 /* uniquement pour : SELECT */ 00048 bool recuperer(QString requete, QString &donnees); // 1 -> 1 00049 bool recuperer(QString requete, QStringList &donnees); // 1 -> 1..* 00050 bool recuperer(QString requete, QVector<QString> &donnees); // 1..* -> 1 00051 bool recuperer(QString requete, QVector<QStringList> &donnees); // 1..* -> 1..* 00052 00053 private: 00054 BaseDeDonnees(); 00055 ~BaseDeDonnees(); 00056 static BaseDeDonnees* baseDeDonnees; 00057 static int nbAcces; 00058 QSqlDatabase db; 00059 QMutex mutex; 00060 }; 00061 00062 #endif // BASEDEDONNEES_H