Bonjour !

Voilà je suis sur l'élaboration d'une classe de connexion à une base de donnée en Singleton. Juste pour précision j'utilise Qt pour les accès à la base de donnée. Ce que je désire donc c'est récupérer un pointeur avec la connexion instancié à la BDD. Mais j'ai un petit problème à la compilation... et là c'est plus un problème de compréhension de langage car passer du Java au C++ il y a certains aspect qui m'échappent...

Voici mes erreurs :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
main.cpp:13: error: cannot convert `QSqlDatabase' to `QSqlDatabase*' in initiali
zation
DBConnection.h
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#ifndef DEF_DBCONNECTION
#define DEF_DBCONNECTION
 
#include <QSqlDatabase>
#include <QtSql>
 
class DBConnection
{
    public:
           //les fonctions pour récupérer/tuer l'instance
           static QSqlDatabase Get();
           static void Kill();
 
    private:
            //l'instance à proprement parlé
            static QSqlDatabase *db_instance;
 
            //constructeur et destructeur
            DBConnection();
            ~DBConnection();
 
            //bool pour vérifier si une instance est déjà présente
            static bool check_instance;
};
 
#endif
DBConnection.cpp
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#include "DBConnection.h"
 
using namespace std;
 
DBConnection::DBConnection()
{
    db_instance = new QSqlDatabase;
    db_instance->addDatabase("QMYSQL");
    db_instance->setHostName("192.168.99.87");
    db_instance->setDatabaseName("caisse");
    db_instance->setUserName("****");
    db_instance->setPassword("****");
    db_instance->open();
    check_instance = true;
}
 
DBConnection::~DBConnection(){}
 
QSqlDatabase DBConnection::Get()
{
    if(check_instance == true)
	{
	    return *db_instance;
	}
	else{
         new DBConnection();
         return *db_instance;
    }  
}
 
void DBConnection::Kill()
{
    delete db_instance;
}
main.cpp
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <cstdlib>
#include <iostream>
#include <QSqlDatabase>
#include <QtSql>
 
#include "DBConnection.h"
 
 
using namespace std;
 
int main(int argc, char *argv[])
{
    QSqlDatabase *con_DB = DBConnection::Get();
 
    system("PAUSE");
    return EXIT_SUCCESS;
}
Voilà je vous remercie d'avance !