![]() |
Wismas
1.1
BTS SN-IR La Salle Avignon 2017
|
#include <basededonnees.h>
Fonctions membres publiques | |
bool | connecter (QString nomBase=DATABASENAME) |
bool | executer (QString requete) |
Fonctions membres publiques statiques | |
static BaseDeDonnees * | getInstance () |
static void | detruireInstance () |
Fonctions membres privées | |
BaseDeDonnees () | |
~BaseDeDonnees () | |
Attributs privés | |
QSqlDatabase | db |
QMutex | mutex |
Attributs privés statiques | |
static BaseDeDonnees * | baseDeDonnees = NULL |
static int | nbAcces = 0 |
BaseDeDonnees::BaseDeDonnees | ( | ) | [private] |
Références db.
Référencé par getInstance().
{ #ifdef DEBUG_BASEDEDONNEES qDebug() << "<BaseDeDonnees::BaseDeDonnees()>"; #endif db = QSqlDatabase::addDatabase("QMYSQL"); }
BaseDeDonnees::~BaseDeDonnees | ( | ) | [private] |
{ #ifdef DEBUG_BASEDEDONNEES qDebug() << "<BaseDeDonnees::~BaseDeDonnees()>"; #endif }
bool BaseDeDonnees::connecter | ( | QString | nomBase = DATABASENAME | ) |
Références db, HOSTNAME, mutex, PASSWORD, et USERNAME.
Référencé par Camera::Camera().
{ QMutexLocker verrou(&mutex); if(!db.isOpen()) { db.setHostName(HOSTNAME); db.setUserName(USERNAME); db.setPassword(PASSWORD); db.setDatabaseName(nomBase); #ifdef DEBUG_BASEDEDONNEES qDebug() << "Hostname : " << db.hostName(); qDebug() << "UserName : " << db.userName(); qDebug() << "DataBaseName : " << db.databaseName(); #endif if(db.open()) { #ifdef DEBUG_BASEDEDONNEES qDebug() << QString::fromUtf8("<BaseDeDonnees::connecter()> connexion reussie a %1").arg(db.hostName()); #endif return true; } else { qDebug() << QString::fromUtf8("<BaseDeDonnees::connecter()> erreur : impossible de se connecter à la base de données !"); QMessageBox::critical(0, QString::fromUtf8("Wismas"), QString::fromUtf8("Impossible de se connecter à la base de donées !")); return false; } } else return true; }
void BaseDeDonnees::detruireInstance | ( | ) | [static] |
Références baseDeDonnees, et nbAcces.
Référencé par Camera::~Camera().
{ // instance ? if(baseDeDonnees != NULL) { nbAcces--; #ifdef DEBUG_BASEDEDONNEES qDebug() << "<BaseDeDonnees::detruireInstance()> nbAcces restants = " << nbAcces; #endif // dernier ? if(nbAcces == 0) delete baseDeDonnees; } }
bool BaseDeDonnees::executer | ( | QString | requete | ) |
Référencé par Camera::terminer().
{ QMutexLocker verrou(&mutex); QSqlQuery r; bool retour; if(db.isOpen()) { retour = r.exec(requete); #ifdef DEBUG_BASEDEDONNEES qDebug() << QString::fromUtf8("<BaseDeDonnees::executer()> retour %1 pour la requête : %2").arg(QString::number(retour)).arg(requete); #endif if(retour) { return true; } else { qDebug() << QString::fromUtf8("<BaseDeDonnees::executer()> erreur : %1 pour la requête %2").arg(r.lastError().text()).arg(requete); return false; } } else return false; }
BaseDeDonnees * BaseDeDonnees::getInstance | ( | ) | [static] |
Références BaseDeDonnees(), baseDeDonnees, et nbAcces.
Référencé par Camera::Camera().
{ if(baseDeDonnees == NULL) baseDeDonnees = new BaseDeDonnees(); nbAcces++; #ifdef DEBUG_BASEDEDONNEES qDebug() << "<BaseDeDonnees::getInstance()> nbAcces = " << nbAcces; #endif return baseDeDonnees; }
BaseDeDonnees * BaseDeDonnees::baseDeDonnees = NULL [static, private] |
Référencé par detruireInstance(), et getInstance().
QSqlDatabase BaseDeDonnees::db [private] |
Référencé par BaseDeDonnees(), connecter(), et executer().
QMutex BaseDeDonnees::mutex [private] |
Référencé par connecter(), et executer().
int BaseDeDonnees::nbAcces = 0 [static, private] |
Référencé par detruireInstance(), et getInstance().