Connexion base access à Qt

Alryc Messages postés 2 Date d'inscription   Statut Membre Dernière intervention   -  
Alryc Messages postés 2 Date d'inscription   Statut Membre Dernière intervention   -
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
A voir également:

2 réponses

francis
 
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   Statut Membre Dernière intervention  
 
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