![]() |
Chrono-Cross
0.8
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 #define HOSTNAME "localhost" 00012 #define USERNAME "root" 00013 #define PASSWORD "password" 00014 #define DATABASENAME "Chrono-cross" 00015 00029 class BaseDeDonnees : public QObject 00030 { 00031 Q_OBJECT 00032 public: 00033 static BaseDeDonnees* getInstance(); 00034 static void detruireInstance(); 00035 00036 QString getNomBaseDonnees() const; 00037 bool connecter(QString serveur = HOSTNAME, QString nomBase = DATABASENAME); 00038 /* uniquement pour : UPDATE, INSERT et DELETE */ 00039 bool executer(QString requete); 00040 /* uniquement pour : SELECT */ 00041 bool recuperer(QString requete, QString &donnees); // 1 -> 1 00042 bool recuperer(QString requete, QStringList &donnees); // 1 -> 1..* 00043 bool recuperer(QString requete, QVector<QString> &donnees); // 1..* -> 1 00044 bool recuperer(QString requete, QVector<QStringList> &donnees); // 1..* -> 1..* 00045 00046 private: 00047 BaseDeDonnees(); 00048 ~BaseDeDonnees(); 00049 static BaseDeDonnees* baseDeDonnees; 00050 static int nbAcces; 00051 QSqlDatabase db; 00052 QMutex mutex; 00053 }; 00054 00055 #endif // BASEDEDONNEES_H