Connexion base access à Qt

Fermé
Alryc Messages postés 2 Date d'inscription jeudi 26 février 2009 Statut Membre Dernière intervention 27 février 2009 - 26 févr. 2009 à 09:49
Alryc Messages postés 2 Date d'inscription jeudi 26 février 2009 Statut Membre Dernière intervention 27 février 2009 - 27 févr. 2009 à 16:57
Bonjour
Je suis dans une situation désespérée. Voila, je debute en Qt. Jusque là tout se passait très bien mais depuis quelques jours suis bloqué. Je n'arrive pas à connecter ma base Access à Qt. En fait, javoue que je ne sais vraiment pas si je m'y prends bien. Je suis un peu embrouillé, la doc étant en anglais et ...
Bref, comment devrais je procéder?
Quels sont les parametrages
- sous access
- dans le SE (Windows XP)
- dans le repertoire de Qt (v 4.4.3)
- dans mon fichier .pro
- dans le code ?
Certains ont surement réussi à établir la liaison. je voudrais savoir la procédure à respecter afin de pouvoir avancer. J'ai vraiment besoin qu'on me sorte de là. Merci d'avance

2 réponses

Voici le code dont je me sert pour me connecter a une base sql server.

QSqlDatabase db = QSqlDatabase::addDatabase("QODBC","nom de ta source de donnée");
db.setDatabaseName("DRIVER={SQL Server};SERVER=ton serveur;PORT=1433;UID=utilisateur;PASSWORD=motdepasse;DATABASE=nomdelabdd");

bool ok = db.open();
if (!ok) {
QMessageBox::critical(0, qApp->tr("Cannot open database"),
"Problème de connection a la base de donnée\n " + db.lastError ().text(), QMessageBox::Cancel,
QMessageBox::NoButton);
}
else
{
QSqlQuery q("ta requete",db);
int i=0;

while(q.next())
{
//Là tu traite les résultats
}
}

db.close();

la ligne :
db.setDatabaseName("DRIVER={SQL Server};SERVER=ton serveur;PORT=1433;UID=utilisateur;PASSWORD=motdepasse;DATABASE=nomdelabdd");
doit surement changer. pour attaquer du mysql, c'est pas la meme... google pour plus d'infos, ou alors le forum qtfr.
0
Alryc Messages postés 2 Date d'inscription jeudi 26 février 2009 Statut Membre Dernière intervention 27 février 2009
27 févr. 2009 à 16:57
merci Françis, voila le code que j'utilise

QSqlDatabase db = QSqlDatabase::addDatabase("QODBC");
db.setDatabaseName("DRIVER={Microsoft Access Driver (*.mdb)};FIL={MS Access};DBQ=h:\\base.mdb");

Il doit y avoir une erreur mais laquelle? J'obtiens également l'erreur "DRIVER NOT LOADED" Cela pourrait il m'aider?
Dans le code de Francis, je lis quelque part "nom de ta source de données". Un peu plus de détail là dessus m'éclairerait.
Merci d'avance
0