Projet e-stock  1.0
BTS SN-IR 2019
terminalmobile/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 NB_BASEDEDONNEES 2
25 #define BDD_SQLITE 0
26 #define BDD_MYSQL 1
27 
28 class BaseDeDonnees : public QObject
29 {
30  Q_OBJECT
31  public:
32  static BaseDeDonnees* getInstance(QString type);
33  static void detruireInstance(QString type);
34 
35  Q_INVOKABLE bool estConnecte();
36  Q_INVOKABLE void deconnecter();
37  Q_INVOKABLE bool connecter(QString nomBase, QString username, QString password, QString serveur);
38 
39  Q_INVOKABLE bool estOuvert();
40  Q_INVOKABLE bool ouvrir(QString fichierBase);
41 
42  /* uniquement pour : UPDATE, INSERT et DELETE */
43  Q_INVOKABLE bool executer(QString requete);
44 
45  /* uniquement pour : SELECT */
46  Q_INVOKABLE bool recuperer(QString requete, QString &donnees); // 1 -> 1
47  Q_INVOKABLE bool recuperer(QString requete, QStringList &donnees); // 1 -> 1..*
48  Q_INVOKABLE bool recuperer(QString requete, QVector<QString> &donnees); // 1..* -> 1
49  Q_INVOKABLE bool recuperer(QString requete, QVector<QStringList> &donnees); // 1..* -> 1..*
50 
51  private:
52  BaseDeDonnees(QString type);
54 
56  static int nbAcces[NB_BASEDEDONNEES];
57  QSqlDatabase db;
58  QString nomBDD;
59  QMutex mutex;
60 
61  QSqlDatabase getNomBDD();
62 };
63 
64 #endif // BASEDEDONNEES_H
static BaseDeDonnees * baseDeDonnees
Definition: ihm-estock/baseDeDonnees.h:51
static BaseDeDonnees * getInstance(QString type="QMYSQL")
Definition: ihm-estock/baseDeDonnees.cpp:38
static void detruireInstance()
Definition: ihm-estock/baseDeDonnees.cpp:51
QString nomBDD
Definition: terminalmobile/baseDeDonnees.h:58
bool ouvrir(QString fichierBase)
Definition: ihm-estock/baseDeDonnees.cpp:120
Definition: ihm-estock/baseDeDonnees.h:25
~BaseDeDonnees()
Definition: ihm-estock/baseDeDonnees.cpp:31
QSqlDatabase db
Definition: ihm-estock/baseDeDonnees.h:55
bool estConnecte()
Definition: ihm-estock/baseDeDonnees.cpp:70
BaseDeDonnees(QString type)
Definition: ihm-estock/baseDeDonnees.cpp:22
bool recuperer(QString requete, QString &donnees)
Definition: ihm-estock/baseDeDonnees.cpp:190
static int nbAcces
Definition: ihm-estock/baseDeDonnees.h:53
bool estOuvert()
Definition: ihm-estock/baseDeDonnees.cpp:114
bool connecter(QString nomBase=BDD_NOMBASE, QString username=BDD_USERNAME, QString password=BDD_PASSWORD, QString serveur=BDD_SERVEUR)
Definition: ihm-estock/baseDeDonnees.cpp:76
bool executer(QString requete)
Definition: ihm-estock/baseDeDonnees.cpp:152
QMutex mutex
Definition: ihm-estock/baseDeDonnees.h:56
Q_INVOKABLE void deconnecter()
Definition: terminalmobile/baseDeDonnees.cpp:138
QSqlDatabase getNomBDD()
Definition: terminalmobile/baseDeDonnees.cpp:127
#define NB_BASEDEDONNEES
Definition: terminalmobile/baseDeDonnees.h:24