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 Delphi Discussion :

Erreur dans requête SQL


Sujet :

Bases de données Delphi

  1. #1
    Membre habitué
    Inscrit en
    Juillet 2007
    Messages
    433
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 433
    Points : 130
    Points
    130
    Par défaut Erreur dans requête SQL
    J'ai une erreur avec ma requête, qui fonctionne bien sous phpMyAdmin :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    form3.Query8.SQL.Clear ;
    monsql := 'SELECT @val_id := val_cpt '+
    'FROM COMPTEUR ' +
    'WHERE nom_cpt = ''Materiel'' ;' ;
    form3.query8.SQL.add(monsql) ;
    form3.Query8.Open ;
    Ca me renvoie une exception EDatabaseError avec le message 'Querry8 : le champ '=' est de type inconnu'

    Je répète la requête fonctionne bien sous phpMyAdmin...

  2. #2
    Membre averti Avatar de archonte
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    341
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 341
    Points : 392
    Points
    392
    Par défaut
    Salut Gaetch !

    Citation Envoyé par Gaetch Voir le message
    J'ai une erreur avec ma requête, qui fonctionne bien sous phpMyAdmin :

    form3.Query8.SQL.Clear ;
    monsql := 'SELECT @val_id := val_cpt '+
    'FROM COMPTEUR ' +
    'WHERE nom_cpt = ''Materiel'' ;' ;
    form3.query8.SQL.add(monsql) ;
    form3.Query8.Open ;

    Ca me renvoie une exception EDatabaseError avec le message 'Querry8 : le champ '=' est de type inconnu'

    Je répète la requête fonctionne bien sous phpMyAdmin...
    J'ai limpression qu'il y a qq erreurs de syntaxes, en tout les cas, pour ma part je coderai différemment :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    // selctionne les val_id dans la table compteur pour lesquelles nom_cpt vaut "materiel"
    monsql := 'SELECT val_id FROM compteur WHERE nom_cpt = materiel';
    Je ne comprends pas (nul n'est parfait et tu me donneras sûrement la réponse !) le @val_id := val_cpt. Si c'est pour obtenir un alias de val_id écrits-le val_id AS val_cpt dans la clause SELECT. Dans tous les cas, dans ton sql, l'affectation de valeur se fait par un = et non un := !

    Si materiel est une valeur que tu comptes modifier il te faut modifier ta syntaxe avec des parametres !
    "Je n'ai jamais rencontré d'homme si ignorant qu'il n'eut quelque chose à m'apprendre."
    Galilée

  3. #3
    Membre habitué
    Inscrit en
    Juillet 2007
    Messages
    433
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 433
    Points : 130
    Points
    130
    Par défaut
    comme j'ai dit plus haut ma syntaxe sql est correcte elle fonctionne et s'exécute parfaitement, le @val_id c'est pour déclarer une variable et l'affectation se fait bien par un := ...

  4. #4
    Expert confirmé
    Avatar de anapurna
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    3 419
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 419
    Points : 5 818
    Points
    5 818
    Par défaut
    salut

    les deux point permette effectivement de declarer un paramettre
    mais le sens est =: et non :=

    @+ Phil
    Nous souhaitons la vérité et nous trouvons qu'incertitude. [...]
    Nous sommes incapables de ne pas souhaiter la vérité et le bonheur, et sommes incapables ni de certitude ni de bonheur.
    Blaise Pascal
    PS : n'oubliez pas le tag

Discussions similaires

  1. [AC-2010] Erreur introuvable dans requête SQL dans VBA.
    Par Mickey7312 dans le forum VBA Access
    Réponses: 2
    Dernier message: 25/02/2015, 21h49
  2. Erreur dans requête SQL(PDO)
    Par jmtrivia dans le forum Langage SQL
    Réponses: 6
    Dernier message: 24/02/2014, 14h11
  3. [Débutant] Erreur Date dans requête SQL
    Par jayce23 dans le forum ASP.NET
    Réponses: 2
    Dernier message: 21/02/2014, 09h17
  4. erreur de requête SQL avec ASP mais pas dans Access
    Par csszzen dans le forum Langage SQL
    Réponses: 6
    Dernier message: 16/03/2007, 09h07
  5. ASP et valeur NULL dans requêtes SQL
    Par chuck_m dans le forum ASP
    Réponses: 7
    Dernier message: 13/08/2004, 11h15

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