Déclaration de la classe utilisant la base de données.
Plus de détails...
#include <basededonnees.h>
Liste de tous les membres
Fonctions membres publiques |
QString | getNomBaseDonnees () const |
bool | connecter (QString serveur=HOSTNAME, QString nomBase=DATABASENAME) |
bool | executer (QString requete) |
bool | recuperer (QString requete, QString &donnees) |
bool | recuperer (QString requete, QStringList &donnees) |
bool | recuperer (QString requete, QVector< QString > &donnees) |
bool | recuperer (QString requete, QVector< QStringList > &donnees) |
QString | getNomBaseDonnees () const |
bool | connecter (QString serveur=HOSTNAME, QString nomBase=DATABASENAME) |
bool | executer (QString requete) |
bool | recuperer (QString requete, QString &donnees) |
bool | recuperer (QString requete, QStringList &donnees) |
bool | recuperer (QString requete, QVector< QString > &donnees) |
bool | recuperer (QString requete, QVector< QStringList > &donnees) |
QString | getNomBaseDonnees () const |
bool | connecter (QString serveur=HOSTNAME, QString nomBase=DATABASENAME) |
bool | executer (QString requete) |
bool | recuperer (QString requete, QString &donnees) |
bool | recuperer (QString requete, QStringList &donnees) |
bool | recuperer (QString requete, QVector< QString > &donnees) |
bool | recuperer (QString requete, QVector< QStringList > &donnees) |
Fonctions membres publiques statiques |
static BaseDeDonnees * | getInstance () |
static void | detruireInstance () |
static BaseDeDonnees * | getInstance () |
static void | detruireInstance () |
static BaseDeDonnees * | getInstance () |
static void | detruireInstance () |
Fonctions membres privées |
| BaseDeDonnees () |
| ~BaseDeDonnees () |
| BaseDeDonnees () |
| ~BaseDeDonnees () |
| BaseDeDonnees () |
| ~BaseDeDonnees () |
Attributs privés |
QSqlDatabase | db |
QMutex | mutex |
Attributs privés statiques |
static BaseDeDonnees * | baseDeDonnees = NULL |
static int | nbAcces = 0 |
Description détaillée
- Auteur:
- Thierry VAIRA
- Version:
- 1.0
- Date:
- Mercredi 30 mars 2018
Documentation des constructeurs et destructeur
Références db.
Référencé par getInstance().
{
#ifdef DEBUG_BASEDEDONNEES
qDebug() << "<BaseDeDonnees::BaseDeDonnees()>";
#endif
db = QSqlDatabase::addDatabase("QMYSQL");
}
{
#ifdef DEBUG_BASEDEDONNEES
qDebug() << "<BaseDeDonnees::~BaseDeDonnees()>";
#endif
}
Documentation des fonctions membres
Références db, mutex, PASSWORD, et USERNAME.
Référencé par IHMManifestation::IHMManifestation(), IHMResultats::IHMResultats(), et ChronoCrossClassement::initialiserBD().
{
QMutexLocker verrou(&mutex);
if(!db.isOpen())
{
db.setHostName(serveur);
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 réussie à %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("Chrono-Cross"), QString::fromUtf8("Impossible de se connecter à la base de données !"));
return false;
}
}
else
return true;
}
Références db, et mutex.
Référencé par IHMManifestation::creerCoureur(), IHMManifestation::creerCourse(), IHMManifestation::creerManifestation(), ChronoCrossClassement::enregistrerResultat(), IHMManifestation::modifierCoureur(), IHMManifestation::modifierCourse(), IHMManifestation::modifierManifestation(), IHMManifestation::supprimerCoureur(), IHMManifestation::supprimerCourse(), et IHMManifestation::supprimerManifestation().
{
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 requete : %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;
}
Références db, et mutex.
Référencé par IHMResultats::afficherManifestation(), IHMResultats::afficherResultats(), IHMManifestation::afficherResultats(), ChronoCrossClassement::chargerInscritsCourse(), IHMManifestation::chargerListeCategories(), IHMManifestation::chargerListeClasses(), IHMManifestation::chargerListeCoureurs(), ChronoCrossClassement::chargerListeCourses(), IHMManifestation::chargerListeCourses(), IHMManifestation::chargerListeInscriptionCourses(), ChronoCrossClassement::chargerListeManifestation(), IHMManifestation::chargerListeManifestations(), IHMManifestation::getNumeroDossard(), et IHMResultats::recupererCourse().
{
QMutexLocker verrou(&mutex);
QSqlQuery r;
bool retour;
if(db.isOpen())
{
retour = r.exec(requete);
#ifdef DEBUG_BASEDEDONNEES
qDebug() << QString::fromUtf8("<BaseDeDonnees::recuperer(QString, QString)> retour %1 pour la requete : %2").arg(QString::number(retour)).arg(requete);
#endif
if(retour)
{
r.first();
if(!r.isValid())
{
#ifdef DEBUG_BASEDEDONNEES
qDebug() << QString::fromUtf8("<BaseDeDonnees::recuperer(QString, QString)> résultat non valide !");
#endif
return false;
}
if(r.isNull(0))
{
#ifdef DEBUG_BASEDEDONNEES
qDebug() << QString::fromUtf8("<BaseDeDonnees::recuperer(QString, QString)> résultat vide !");
#endif
return false;
}
donnees = r.value(0).toString();
#ifdef DEBUG_BASEDEDONNEES
qDebug() << "<BaseDeDonnees::recuperer(QString, QString)> enregistrement -> " << donnees;
#endif
return true;
}
else
{
qDebug() << QString::fromUtf8("<BaseDeDonnees::recuperer(QString, QString)> erreur : %1 pour la requête %2").arg(r.lastError().text()).arg(requete);
return false;
}
}
else
return false;
}
Références db, et mutex.
{
QMutexLocker verrou(&mutex);
QSqlQuery r;
bool retour;
if(db.isOpen())
{
retour = r.exec(requete);
#ifdef DEBUG_BASEDEDONNEES
qDebug() << QString::fromUtf8("<BaseDeDonnees::recuperer(QString, QStringList)> retour %1 pour la requete : %2").arg(QString::number(retour)).arg(requete);
#endif
if(retour)
{
r.first();
if(!r.isValid())
{
#ifdef DEBUG_BASEDEDONNEES
qDebug() << QString::fromUtf8("<BaseDeDonnees::recuperer(QString, QStringList)> résultat non valide !");
#endif
return false;
}
for(int i=0;i<r.record().count();i++)
if(!r.isNull(i))
donnees << r.value(i).toString();
#ifdef DEBUG_BASEDEDONNEES
qDebug() << "<BaseDeDonnees::recuperer(QString, QStringList)> enregistrement -> " << donnees;
#endif
return true;
}
else
{
qDebug() << QString::fromUtf8("<BaseDeDonnees::recuperer(QString, QStringList)> erreur : %1 pour la requête %2").arg(r.lastError().text()).arg(requete);
return false;
}
}
else
return false;
}
Références db, et mutex.
{
QMutexLocker verrou(&mutex);
QSqlQuery r;
bool retour;
QString data;
if(db.isOpen())
{
retour = r.exec(requete);
#ifdef DEBUG_BASEDEDONNEES
qDebug() << QString::fromUtf8("<BaseDeDonnees::recuperer(QString, QVector<QString>)> retour %1 pour la requete : %2").arg(QString::number(retour)).arg(requete);
#endif
if(retour)
{
while ( r.next() )
{
data = r.value(0).toString();
#ifdef DEBUG_BASEDEDONNEES
#endif
donnees.push_back(data);
}
#ifdef DEBUG_BASEDEDONNEES
qDebug() << "<BaseDeDonnees::recuperer(QString, QVector<QString>)> enregistrement -> " << donnees;
#endif
return true;
}
else
{
qDebug() << QString::fromUtf8("<BaseDeDonnees::recuperer(QString, QVector<QString>)> erreur : %1 pour la requête %2").arg(r.lastError().text()).arg(requete);
return false;
}
}
else
return false;
}
Références db, et mutex.
{
QMutexLocker verrou(&mutex);
QSqlQuery r;
bool retour;
QStringList data;
if(db.isOpen())
{
retour = r.exec(requete);
#ifdef DEBUG_BASEDEDONNEES
qDebug() << QString::fromUtf8("<BaseDeDonnees::recuperer(QString, QVector<QStringList>)> retour %1 pour la requete : %2").arg(QString::number(retour)).arg(requete);
#endif
if(retour)
{
while ( r.next() )
{
for(int i=0;i<r.record().count();i++)
data << r.value(i).toString();
#ifdef DEBUG_BASEDEDONNEES
#endif
donnees.push_back(data);
data.clear();
}
#ifdef DEBUG_BASEDEDONNEES
qDebug() << "<BaseDeDonnees::recuperer(QString, QVector<QStringList>)> enregistrement -> " << donnees;
#endif
return true;
}
else
{
qDebug() << QString::fromUtf8("<BaseDeDonnees::recuperer(QString, QVector<QStringList>)> erreur : %1 pour la requête %2").arg(r.lastError().text()).arg(requete);
return false;
}
}
else
return false;
}
Documentation des données membres
La documentation de cette classe a été générée à partir des fichiers suivants :