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 :

Erreur SQL avec java


Sujet :

JDBC Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 31
    Par défaut Erreur SQL avec java
    Bonjour tout le monde!
    Voilà j'ai un problème pour accéder à mes informations dans la base de données.
    Voilà l'erreur java provoquée par rapport à ma requête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Exception in thread "AWT-EventQueue-0" org.h2.jdbc.JdbcSQLException: Syntax error in SQL statement SELECT * FROM STRUCTURE INNER JOIN DOSSIER USING([*]IDSTRUCTURE) WHERE IDDOSSIER=1; ; SQL statement:
    SELECT * FROM STRUCTURE INNER JOIN DOSSIER using(IDSTRUCTURE) WHERE IDDOSSIER=1; [42000-68]
    et voici ma requête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     sql = "SELECT * FROM STRUCTURE INNER JOIN DOSSIER using(IDSTRUCTURE) WHERE IDDOSSIER="+idDossier+";";
    Quelque chose vous alerte? parceque moi non...
    SVP aidez moi.

  2. #2
    in
    in est déconnecté
    Membre Expert Avatar de in
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 612
    Par défaut
    Il ne faut pas mettre de ; à la fin de ta requete.

    De plus tu devrais utiliser un preparedStatement. Il gèrera tout seul les éventuels caractères spéciaux que peux contenir iddossier ...

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 31
    Par défaut Et pourtant...
    Pourtant même en testant de cette façon j'ai la même erreur.
    C'est ça le problème...

    sql = "SELECT * FROM STRUCTURE INNER JOIN DOSSIER using(IDSTRUCTURE) WHERE IDDOSSIER="+idDossier+" ";

    Une autre idée peut être?
    En tout cas merci du conseil pour preparedStatement je vais le tester.

  4. #4
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Billets dans le blog
    1
    Par défaut
    C'est la requête qui me semble suspecte, j'aurais mis :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    
    "SELECT * FROM STRUCTURE a INNER JOIN DOSSIER b 
    on a.IDDOSSIER=b.IDDOSSIER
    WHERE a.IDDOSSIER="+idDossier
    (en supposant que la colonne de liaison dans STRUCTURE soit "IDDOSSIER" également)

    Sinon, effectivement, il vaudrait mieux utiliser un PreparedStatement...
    Du coup, ce serait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    PreparedStatement pstmt = connection.prepareStatement("select * from STRUCTURE a join DOSSIER b on a.IDDOSSIER = b.IDDOSSIER where a.IDDOSSIER=?");
    pstmt.setInt(1, leNumeroDossier);
    A+
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 31
    Par défaut j'essaye
    hum hum
    Oui alors je vais suivre tes conseils.
    J'espère que ça va marcher.
    Je te remercie bcp pour ton aide car y a un peu panique à bord^^

  6. #6
    in
    in est déconnecté
    Membre Expert Avatar de in
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 612
    Par défaut
    Ou si tu ne veux vraiment pas de prapredstatement, met les quotes autour de ta chaine :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    IDDOSSIER='"+idDossier+"'"

  7. #7
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par in Voir le message
    Ou si tu ne veux vraiment pas de prapredstatement, met les quotes autour de ta chaine :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    IDDOSSIER='"+idDossier+"'"
    Encore faudrait-il que idDossier soit une chaîne de caractères
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

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

Discussions similaires

  1. Connection et requete sql avec java
    Par martos dans le forum NetBeans
    Réponses: 8
    Dernier message: 28/08/2007, 21h57
  2. SQL avec JAVA
    Par Madame_de_Fontenay dans le forum Installation
    Réponses: 5
    Dernier message: 09/01/2007, 19h12
  3. 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
  4. ERREUR UPDATE Avec java et oracle
    Par gloglo dans le forum JDBC
    Réponses: 7
    Dernier message: 20/10/2006, 09h35
  5. Erreur SQL avec SELECT
    Par matt0749 dans le forum Débuter
    Réponses: 15
    Dernier message: 17/10/2006, 13h04

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