Projet TTPA (Table Tennis Performance Analyser)  1.3
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 class BaseDeDonnees : public QObject
25 {
26  Q_OBJECT
27  public:
28  static BaseDeDonnees* getInstance();
29  static void detruireInstance();
30 
31  Q_INVOKABLE bool estConnecte();
32  Q_INVOKABLE void deconnecter();
33  Q_INVOKABLE bool estOuvert();
34  Q_INVOKABLE bool ouvrir(QString fichierBase);
35 
36  /* uniquement pour : UPDATE, INSERT et DELETE */
37  Q_INVOKABLE bool executer(QString requete);
38 
39  /* uniquement pour : SELECT */
40  Q_INVOKABLE bool recuperer(QString requete, QString &donnees); // 1 -> 1
41  Q_INVOKABLE bool recuperer(QString requete, QStringList &donnees); // 1 -> 1..*
42  Q_INVOKABLE bool recuperer(QString requete, QVector<QString> &donnees); // 1..* -> 1
43  Q_INVOKABLE bool recuperer(QString requete, QVector<QStringList> &donnees); // 1..* -> 1..*
44 
45  private:
46  BaseDeDonnees();
48 
50  static int nbAcces;
51  QSqlDatabase db;
52  QString nomBDD;
53  QMutex mutex;
54 
55  QSqlDatabase getNomBDD();
56 };
57 
58 #endif // BASEDEDONNEES_H
static BaseDeDonnees * baseDeDonnees
Definition: BaseDeDonnees.h:49
static void detruireInstance()
Definition: BaseDeDonnees.cpp:50
QString nomBDD
Definition: BaseDeDonnees.h:52
Q_INVOKABLE bool ouvrir(QString fichierBase)
Definition: BaseDeDonnees.cpp:97
Definition: BaseDeDonnees.h:24
~BaseDeDonnees()
Definition: BaseDeDonnees.cpp:30
QSqlDatabase db
Definition: BaseDeDonnees.h:51
Q_INVOKABLE bool estConnecte()
Definition: BaseDeDonnees.cpp:75
Q_INVOKABLE bool recuperer(QString requete, QString &donnees)
Definition: BaseDeDonnees.cpp:206
BaseDeDonnees()
Definition: BaseDeDonnees.cpp:20
static int nbAcces
Definition: BaseDeDonnees.h:50
static BaseDeDonnees * getInstance()
Definition: BaseDeDonnees.cpp:37
Q_INVOKABLE bool estOuvert()
Definition: BaseDeDonnees.cpp:91
Q_INVOKABLE bool executer(QString requete)
Definition: BaseDeDonnees.cpp:162
QMutex mutex
Definition: BaseDeDonnees.h:53
Q_INVOKABLE void deconnecter()
Definition: BaseDeDonnees.cpp:81
QSqlDatabase getNomBDD()
Definition: BaseDeDonnees.cpp:70