Qt, sql & access
Fermé
kamy86
Messages postés
40
Date d'inscription
jeudi 10 juillet 2008
Statut
Membre
Dernière intervention
17 mai 2010
-
2 sept. 2008 à 01:54
kamy86 Messages postés 40 Date d'inscription jeudi 10 juillet 2008 Statut Membre Dernière intervention 17 mai 2010 - 5 sept. 2008 à 15:22
kamy86 Messages postés 40 Date d'inscription jeudi 10 juillet 2008 Statut Membre Dernière intervention 17 mai 2010 - 5 sept. 2008 à 15:22
10 réponses
Christounet
Messages postés
1263
Date d'inscription
mercredi 26 septembre 2007
Statut
Membre
Dernière intervention
29 juillet 2010
1 379
2 sept. 2008 à 10:11
2 sept. 2008 à 10:11
Bonjour,
Je ne suis pas un spécialiste Qt, mais dans ton code tu attribues une valeur a Email (par query.bindvalue) mais je ne trouve pas cette colonne dans ton ordre insert (ni dans le nom des colonnes, ni dans VALUES) , peut-être le problème vient-il de là ?
A plus
Je ne suis pas un spécialiste Qt, mais dans ton code tu attribues une valeur a Email (par query.bindvalue) mais je ne trouve pas cette colonne dans ton ordre insert (ni dans le nom des colonnes, ni dans VALUES) , peut-être le problème vient-il de là ?
A plus
kamy86
Messages postés
40
Date d'inscription
jeudi 10 juillet 2008
Statut
Membre
Dernière intervention
17 mai 2010
2 sept. 2008 à 13:54
2 sept. 2008 à 13:54
je l'ai ajouté mais le problème persiste, toujours aucun changement dans ma base de données, je crois qu'il y a des manipulations specifiques à access que je dois effectuer pour que le lien s'etabli, mais je ne sais pas quoi.
est ce que quelqu'un peut m'aider?
est ce que quelqu'un peut m'aider?
Christounet
Messages postés
1263
Date d'inscription
mercredi 26 septembre 2007
Statut
Membre
Dernière intervention
29 juillet 2010
1 379
2 sept. 2008 à 17:12
2 sept. 2008 à 17:12
Bonjour,
As-tu déjà vérifié que ta es bien connecté à ta base de données, voici un exemple de code pour se connecter à une base de données Access à partir de Qt
A plus
As-tu déjà vérifié que ta es bien connecté à ta base de données, voici un exemple de code pour se connecter à une base de données Access à partir de Qt
int main( int argc, char *argv[] )
{
QApplication app ( argc, argv, FALSE );
QSqlDatabase *defaultDB = QSqlDatabase::addDatabase(QODBC3);
defaultDB->setDatabaseName( Nom de ta Base );
defaultDB->setUserName( Ton nom de User );
defaultDB->setPassword( Ton mot de passe );
defaultDB->setHostName( Ton nom de serveur );
if ( defaultDB->open() ) {
// L'accès à la base de données est ok, on peut maintenant exécuter des ordres SQL
A plus
kamy86
Messages postés
40
Date d'inscription
jeudi 10 juillet 2008
Statut
Membre
Dernière intervention
17 mai 2010
2 sept. 2008 à 17:29
2 sept. 2008 à 17:29
voilà mon main.cpp
j'ai mis l'affichage de la fenêtre dans la condition, mais là l'affichage ne s'effectue pas , càd il n'y a pas de liaison avec ma base, qy'est ce que je fais là?
#include <QApplication>
#include "FPrincipale.h"
#include <QtSql>
#include <QDebug>
int main(int argc, char* argv[])
{
QApplication app (argc, argv);
QSqlDatabase db = QSqlDatabase::addDatabase("QODBC3");
db.setHostName("localhost");
db.setDatabaseName("monprojet");
db.setUserName("khamsouch");
db.setPassword("");
bool ok = db.open();
if (ok) {
FPrincipale fenetre;
fenetre.show();
}
QObject::connect( qApp, SIGNAL(lastWindowClosed()), qApp, SLOT(quit()) );
return app.exec();
}
j'ai mis l'affichage de la fenêtre dans la condition, mais là l'affichage ne s'effectue pas , càd il n'y a pas de liaison avec ma base, qy'est ce que je fais là?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Christounet
Messages postés
1263
Date d'inscription
mercredi 26 septembre 2007
Statut
Membre
Dernière intervention
29 juillet 2010
1 379
2 sept. 2008 à 17:53
2 sept. 2008 à 17:53
Bonjour,
Tu peux utiliser la variable QSqlDatabase.lastError pour connaître l'erreur SQL lors de la connexion
A plus
Tu peux utiliser la variable QSqlDatabase.lastError pour connaître l'erreur SQL lors de la connexion
if (ok) {
FPrincipale fenetre;
fenetre.show();
}
else {
qDebug() << QSqlDatabase.lastError();
}
A plus
kamy86
Messages postés
40
Date d'inscription
jeudi 10 juillet 2008
Statut
Membre
Dernière intervention
17 mai 2010
2 sept. 2008 à 18:24
2 sept. 2008 à 18:24
ça n'affiche rien, là chui allée dans mon panneau de configuration et j'ai ouvert l'ODBC, est ce que tu peut me dire quelles sont les etapes à faire pour etablir une connexion à partir de là?
Christounet
Messages postés
1263
Date d'inscription
mercredi 26 septembre 2007
Statut
Membre
Dernière intervention
29 juillet 2010
1 379
2 sept. 2008 à 18:47
2 sept. 2008 à 18:47
Bonjour,
N'ayant pas Qt sur ma machine, je peux difficilement t'aider et comme je l'ai déjà dis dans mon premier post, je ne suis pas un spécialiste de Qt. As-tu déjà regardé dans l'aide de Qt ? J'ai aussi remarqué qu'il manque un include dans ton code (c'est peut-être une faute de frappe)
A plus
N'ayant pas Qt sur ma machine, je peux difficilement t'aider et comme je l'ai déjà dis dans mon premier post, je ne suis pas un spécialiste de Qt. As-tu déjà regardé dans l'aide de Qt ? J'ai aussi remarqué qu'il manque un include dans ton code (c'est peut-être une faute de frappe)
#include <QSqlDatabase>
A plus
kamy86
Messages postés
40
Date d'inscription
jeudi 10 juillet 2008
Statut
Membre
Dernière intervention
17 mai 2010
2 sept. 2008 à 19:05
2 sept. 2008 à 19:05
j'ai fait un #include <QtSql>
Christounet
Messages postés
1263
Date d'inscription
mercredi 26 septembre 2007
Statut
Membre
Dernière intervention
29 juillet 2010
1 379
3 sept. 2008 à 11:49
3 sept. 2008 à 11:49
Bonjour,
Sorry, mais j'ai mal lu ton code, peux-tu encore essayé le suivant stp ?
Merci et a plus
Sorry, mais j'ai mal lu ton code, peux-tu encore essayé le suivant stp ?
if (ok) {
FPrincipale fenetre;
fenetre.show();
}
else {
qDebug() << db.lastError();
} pour voir si tu peux récupérer l'erreur lors de la connexion.
Merci et a plus
kamy86
Messages postés
40
Date d'inscription
jeudi 10 juillet 2008
Statut
Membre
Dernière intervention
17 mai 2010
5 sept. 2008 à 15:22
5 sept. 2008 à 15:22
merci ce problème est reglé mais je rencontre un autre,j'ai fait la connexion avec ma base dans mon main, et maintenant j'essai de faire les requêtes, mais aucun changement dans ma base.Dans la base de données j'ai mis le numéro de client comme clé primaire et elle s'incrémente automatiquemnt mais je sais pas comment faire avec le code je crois que c'est à cause de ça que ça ne marche pas, je veux que ça s'affiche dans la fenêtre de l'ajout sans que l'utilisateur n'y touche.
comment je fais?
comment je fais?