Rechercher : dans
Par :

Connexion base access à Qt

Dernière réponse le 27 fév 2009 à 16:57:12 Alryc, le 26 fév 2009 à 09:49:05 
 Signaler ce message aux modérateurs

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

Configuration: Windows XP
Firefox 3.0.6

Meilleures réponses pour « Connexion base access à Qt » dans :
Connexion à une base Oracle en php Voir1. Périmètre Cet article est un exemple de connexion à une base Oracle par le biais d'un script php. Cet article ne traite pas la configuration de votre serveur Oracle, et de votre client Oracle. Nous partons du principe que vous pouvez accéder à...
Connexion à la base de données avec JDBC VoirConnexion à la base de données L'API (Application Programming Interface) JDBC, c'est-à-dire la bibliothèque de classes JDBC, se charge de trois étapes indispensables à la connexion à une base de données : la création d'une connexion à la...

1

francis, le 26 fév 2009 à 10:07:36

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.

Répondre à francis

2

 Alryc, le 27 fév 2009 à 16:57:12

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

Répondre à Alryc