Chrono-Cross  0.8
BTS SN-IR La Salle Avignon 2018
basededonnees.h
Aller à la documentation de ce fichier.
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
 Tout Classes Fichiers Fonctions Variables Macros