Chrono-Cross  1.1
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 #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
 Tout Classes Fichiers Fonctions Variables Macros