IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bases de données Discussion :

Une erreur SQL peut-elle planter le programme ?


Sujet :

Bases de données

  1. #1
    Membre régulier
    Inscrit en
    Décembre 2007
    Messages
    239
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 239
    Points : 92
    Points
    92
    Par défaut Une erreur SQL peut-elle planter le programme ?
    Bonjour,

    Simple question je pense: une erreur de syntaxe SQL lors qu'un INSERT INTO matable par exemple, peut elle me générer une erreur dans le programme un le message typique de windows: "ne pas envoyer" ?

    J'ai une erreur de windows lorsque je tente d'effectuer un update et je ne sais pas si c'est du à une erreur SQL ou une erreur dans mon code C++.

    A prioris, je me penche dores et déjà sur l'erreur C++ car je n'ai pas de retour de if(!q.exec())
    qDebug() << "erreur d'execution";

  2. #2
    Membre expert

    Avatar de IrmatDen
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 727
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 727
    Points : 3 266
    Points
    3 266
    Par défaut
    Salut,

    Ce serait fort étonnant que ce soit directement lié à la syntaxe de la requête.

  3. #3
    Membre régulier
    Inscrit en
    Décembre 2007
    Messages
    239
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 239
    Points : 92
    Points
    92
    Par défaut
    En effet, le problème ne venait pas de la requete SQL,
    Merci pour ta réponse.

    @bientôt !

  4. #4
    Alp
    Alp est déconnecté
    Expert éminent sénior

    Avatar de Alp
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    8 575
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2005
    Messages : 8 575
    Points : 11 860
    Points
    11 860
    Par défaut
    En effet, il y a une couche entre ton SGBD et le programme Qt (en l'occurence le module Qt SQL) qui gère ce genre d'erreurs.

  5. #5
    Expert éminent sénior

    Homme Profil pro
    pdg
    Inscrit en
    Juin 2003
    Messages
    5 751
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : pdg

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 751
    Points : 10 670
    Points
    10 670
    Billets dans le blog
    3
    Par défaut
    Citation Envoyé par Somato Voir le message
    En effet, le problème ne venait pas de la requete SQL,
    Merci pour ta réponse.
    Le meilleur moyen de remercier c'est de donner la solution trouvee

    J'ai deja eu ce probleme avec le driver Postgres : les requetes echouaient sans raison valable et provoquaient meme des crashs de l'application. J'avais recompile le driver fourni avec postgres (libpq), et tout marchait tres bien ensuite. Je suppose que le .lib qu'ils filent est un vieux truc compile avec VC++ 6.

  6. #6
    Membre régulier
    Inscrit en
    Décembre 2007
    Messages
    239
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 239
    Points : 92
    Points
    92
    Par défaut
    Bonjour,

    Si j'ai préféré ne pas donnée la solution, c'est parce que ce n'est pas vraiment une "solution"

    au moment ou j'enregistre les valeurs dans la base de données, je récupère toutes les valeurs à enregistrer dans un QVector<QString>.

    En décortiquant un peu l'exécution de mon code, j'ai découvert que c'était la méthode chargé de récuperer mes valeurs pour les placer dans le QVector qui faisait planté mon prog:
    (le programme plantait au bout de la xième valeur insérée dans le QVector)

    en remontant encore dans mon programme j'ai vu que j'avais commis l'erreur de double déclarer (une fois dans le .h et une fois dans le .cpp) une même QLineEdit.
    Je n'avais aucun message d'erreur à la compilation mais un beau plantage de le prog.

    Voilou

    Merci pour vos précisions d'ailleurs!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Récupérer une erreur SQL avec TIBDataSet
    Par cgone dans le forum Bases de données
    Réponses: 3
    Dernier message: 25/10/2006, 00h00
  2. [VB.Net] Pourquoi ai-je une Erreur SQL sur un update ?
    Par ndsaerith dans le forum Accès aux données
    Réponses: 3
    Dernier message: 03/08/2006, 11h32
  3. Réponses: 2
    Dernier message: 19/12/2005, 22h54
  4. Une imprimante LP1 peut elle evoluer ver ethernet ?
    Par zakfa dans le forum Périphériques
    Réponses: 3
    Dernier message: 26/06/2005, 21h38
  5. Requete SELECT qui cause une erreur SQL
    Par ahage4x4 dans le forum ASP
    Réponses: 23
    Dernier message: 10/06/2005, 14h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo