Projet ROV'NET  1.0
BTS SN 2019
basededonnees.h
Aller à la documentation de ce fichier.
1 #ifndef BASEDEDONNEES_H
2 #define BASEDEDONNEES_H
3 
16 #include <QObject>
17 #include <QtSql/QtSql>
18 #include <QSqlDatabase>
19 #include <QMutex>
20 #include <QString>
21 
22 #define DEBUG_BASEDEDONNEES
23 
24 #define BDD_HOSTNAME "localhost"
25 #define BDD_USERNAME "root"
26 #define BDD_PASSWORD "password"
27 
39 class BaseDeDonnees : public QObject
40 {
41  Q_OBJECT
42  public:
43  static BaseDeDonnees* getInstance(QString type="QMYSQL");
44  static void detruireInstance();
45 
46  bool estConnecte();
47  bool connecter(QString nomBase, QString username=BDD_USERNAME, QString password=BDD_PASSWORD, QString serveur=BDD_HOSTNAME);
48 
49  bool estOuvert();
50  bool ouvrir(QString fichierBase);
51 
52  /* uniquement pour : UPDATE, INSERT et DELETE */
53  bool executer(QString requete);
54 
55  /* uniquement pour : SELECT */
56  bool recuperer(QString requete, QString &donnees); // 1 -> 1
57  bool recuperer(QString requete, QStringList &donnees); // 1 -> 1..*
58  bool recuperer(QString requete, QVector<QString> &donnees); // 1..* -> 1
59  bool recuperer(QString requete, QVector<QStringList> &donnees); // 1..* -> 1..*
60 
61  private:
62  BaseDeDonnees(QString type);
64 
66  static QString typeBase;
67  static int nbAcces;
68 
69  QSqlDatabase db;
70  QMutex mutex;
71 };
72 
73 #endif // BASEDEDONNEES_H
static BaseDeDonnees * getInstance(QString type="QMYSQL")
Definition: basededonnees.cpp:38
#define BDD_HOSTNAME
Definition: basededonnees.h:24
static BaseDeDonnees * baseDeDonnees
Definition: basededonnees.h:65
static void detruireInstance()
Definition: basededonnees.cpp:50
bool ouvrir(QString fichierBase)
Definition: basededonnees.cpp:117
Déclaration de la classe BaseDeDonnees.
Definition: basededonnees.h:39
~BaseDeDonnees()
Definition: basededonnees.cpp:31
QSqlDatabase db
Definition: basededonnees.h:69
bool estConnecte()
Definition: basededonnees.cpp:69
BaseDeDonnees(QString type)
Definition: basededonnees.cpp:22
static QString typeBase
Definition: basededonnees.h:66
#define BDD_PASSWORD
Definition: basededonnees.h:26
bool recuperer(QString requete, QString &donnees)
Definition: basededonnees.cpp:187
#define BDD_USERNAME
Definition: basededonnees.h:25
bool connecter(QString nomBase, QString username=BDD_USERNAME, QString password=BDD_PASSWORD, QString serveur=BDD_HOSTNAME)
Definition: basededonnees.cpp:75
static int nbAcces
Definition: basededonnees.h:67
bool estOuvert()
Definition: basededonnees.cpp:111
bool executer(QString requete)
Definition: basededonnees.cpp:149
QMutex mutex
Definition: basededonnees.h:70