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

JDBC Java Discussion :

[sql] erreur de syntaxe


Sujet :

JDBC Java

  1. #1
    Membre du Club
    Inscrit en
    Janvier 2005
    Messages
    88
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 88
    Points : 46
    Points
    46
    Par défaut [sql] erreur de syntaxe
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    stmt.executeUpdate("insert into HeuresTravaillees (Id,date,nb_heures) values ('"+id+"',#"+a+"/"+m+"/"+j+"#,'"+htemp+"');");
    Bjr, eclipse lorsque j'execute mon programme me signifie une erreur de syntaxe dans le insert to mais j'ai bo chercher, je ne la trouve po !!

    Voila l'erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    [Microsoft][Pilote ODBC Microsoft Access] Erreur de syntaxe dans l'instruction INSERT INTO.
    id est entier,
    a,m,j st des strings et correspondent a annee,mois,jour
    htemp est une variable reelle

    L'insertion de date fonctionne sous cette forme dans d'autres de mes fonctions...

    Merci d'avance pour votre aide

  2. #2
    Membre régulier Avatar de jiraiya
    Inscrit en
    Mai 2002
    Messages
    100
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 100
    Points : 116
    Points
    116
    Par défaut
    les chiffres entiers comme réel ne doivent pas être entouré de ' alors que les chaines de caractères doivetn être entourées de '

  3. #3
    Membre du Club
    Inscrit en
    Janvier 2005
    Messages
    88
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 88
    Points : 46
    Points
    46
    Par défaut
    je viens d'essayer toutes les combinaisons possibles avec les quotes ou pas et aucun resultat, pourtant g repris la syntaxe d'une requete qui fonctionnait deja

  4. #4
    Membre régulier Avatar de jiraiya
    Inscrit en
    Mai 2002
    Messages
    100
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 100
    Points : 116
    Points
    116
    Par défaut
    essaye en enlevant le ; à la fin de ta réquête, il n'est pas nécessaire, si cela ne marche pas essaye aussi en enlevant les ' autour de id et htemp

  5. #5
    Membre du Club
    Inscrit en
    Janvier 2005
    Messages
    88
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 88
    Points : 46
    Points
    46
    Par défaut
    g essaye mé ca ve tjs pas...

  6. #6
    Membre régulier Avatar de jiraiya
    Inscrit en
    Mai 2002
    Messages
    100
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 100
    Points : 116
    Points
    116
    Par défaut
    bon alors là je ne vois vraiment plus, apart une erreur dans le nom de table ou champ, ou bien éventuellement les valeurs que tu lui passe ne sont pas correcte, pense à faire un println de tes variables

  7. #7
    Membre du Club
    Inscrit en
    Janvier 2005
    Messages
    88
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 88
    Points : 46
    Points
    46
    Par défaut
    G essaye le println et tout fonctionne.... je merde malheureusement...
    Je v qd meme continuer a chercher... merci.

    Mes champs et mon nom de table st sur car g fé un copier/coller

  8. #8
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2004
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 46
    Points : 35
    Points
    35
    Par défaut
    t'es sur que le format de ta date est le bon?
    des fois il est de type jj/mm/aaaa, des fois de type jj-mmm-aaaa.

    y a plein de types différents?
    T'as vérifié le format de ta zone dans access (je connais pas trop access donc je ne sais pas comment il gère les formats de date mais avec oracle ca peut etre relou des fois!).

    Ce n'est qu'une piste, je ne vois pas quoi d'autre si tu es sur du reste.

    PS: le truc #.......# autour de ta date ça sert à quoi?

  9. #9
    Membre du Club
    Inscrit en
    Janvier 2005
    Messages
    88
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 88
    Points : 46
    Points
    46
    Par défaut
    En fait, javé bossé sur un projet avec un copain ya un petit moment et on avait utilisé cette syntaxe la pour inserer une date dans access donc je ss quasi sur de ma syntaxe pour la date, je suppose que le #....# sert a indiquer la concaténation mais je nen suis pas sur car justement, ce point avé été réalisé par mon binome... N'hésité a me contredire si je dis une betise...

  10. #10
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2004
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 46
    Points : 35
    Points
    35
    Par défaut
    nan je demandais juste car je connaissais pas!

    Si ça ne vient pas du format de la date (t'as quand même checké le format de access au cas où il aurait été touché?) je vois pas.

    Je donne ma langue au chat!

  11. #11
    Membre du Club
    Inscrit en
    Janvier 2005
    Messages
    88
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 88
    Points : 46
    Points
    46
    Par défaut
    puisqu'il y a une erreur de syntaxe dans le insert into, g laissé la possibilité a tous mes champs d'etre nul ce qui signifie que l'erreur ne vient pas de mes valeurs a inserer mais plutot de la requete en elle meme mais la je flanche, je ne vois pas ou l'erreur peut se trouver...

    Merci a celui ki pourrait m'aider...

  12. #12
    Membre du Club
    Inscrit en
    Janvier 2005
    Messages
    88
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 88
    Points : 46
    Points
    46
    Par défaut
    Qd je fait l'affichage, pour un réel, java m'affiche par exemple 10.0 et si j'essaie de l'insérer dans access, il me faut mettre une virgule entre le 10 et le zero pour que access l'accepte...

    Quelqu'un sait il comment faire?

  13. #13
    BiM
    BiM est déconnecté
    Expert éminent sénior
    Avatar de BiM
    Femme Profil pro
    Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
    Inscrit en
    Janvier 2005
    Messages
    7 796
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT

    Informations forums :
    Inscription : Janvier 2005
    Messages : 7 796
    Points : 10 765
    Points
    10 765
    Par défaut
    1. Il ne faut pas de ; à la fin de la requête.
    2. La date doit être entre ' et normalement elle est du format jj/mm/aaaa ou jj/mm/aa.
    3. Il faut que tu faces un tonReel.toString().replace(".",",") ou un truc dans le genre.
    4. Les nombres réels ou non ne sont pas entre '.
    5. Les ' dans la requête doivent être précédées de \.

    Ce qui donne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    stmt.executeUpdate("insert into HeuresTravaillees (Id,date,nb_heures) values ("+id+",\'"+j+"/"+m+"/"+a+"\',"+htemp.toString().replace(".",",")+")");
    J'ai supposé :
    - id type entier
    - date type date (évite d'appeler un champ du même nom que son type, certains SGBD n'aiment pas !)
    - htemp type réel

  14. #14
    Membre du Club
    Inscrit en
    Janvier 2005
    Messages
    88
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 88
    Points : 46
    Points
    46
    Par défaut
    Merci bcp mais il suffisait de changer le nom de mon champ date, je l'ai rebaptisé d

  15. #15
    BiM
    BiM est déconnecté
    Expert éminent sénior
    Avatar de BiM
    Femme Profil pro
    Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
    Inscrit en
    Janvier 2005
    Messages
    7 796
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT

    Informations forums :
    Inscription : Janvier 2005
    Messages : 7 796
    Points : 10 765
    Points
    10 765
    Par défaut
    Ok

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

Discussions similaires

  1. [SQL] Erreur de syntaxe sur requete complexe
    Par tiger33 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 07/11/2006, 09h54
  2. [SQL] Erreur de syntaxe SQL
    Par gregius dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 08/08/2006, 19h10
  3. [SQL] erreur de syntaxe dans une requete
    Par einsteineuzzz dans le forum PHP & Base de données
    Réponses: 17
    Dernier message: 15/06/2006, 09h24
  4. instruction SQL : erreur de syntaxe
    Par Skizo dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 24/05/2006, 10h54
  5. PHP SQL =>erreur de syntaxe (operateur absent)
    Par snipes dans le forum Langage SQL
    Réponses: 3
    Dernier message: 23/02/2005, 14h09

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