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

Java Discussion :

Problème lors de l'insertion de données dans une table de ma base de donnée


Sujet :

Java

  1. #1
    Nouveau membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2010
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2010
    Messages : 15
    Points : 25
    Points
    25
    Par défaut Problème lors de l'insertion de données dans une table de ma base de donnée
    Bonjour tout le monde,

    J'espère que vous pourriez m'aider à résoudre ce problème :

    Enfèt, je souhaite insérer un ligne au niveau d'une table de ma base de données, et j'utilise oracle 10g XE...

    J'ai essayé de faire une méthode
    public void insert ()
    {
    getconnexion();// c une méthode pour me connecter à la base
    stmt =conn.createStatement();

    stmt.executeUpdate("INSERT INTO professeurs (prenom,nom,cin) VALUES ('mohamed', 'arféwi','55555') ");
    stmt.close();
    conn.close();
    }
    // pour un tel traitement sa marche sans problème

    mais quand j'essai de faire

    stmt.executeUpdate("INSERT INTO professeurs (prenom,nom,cin) VALUES ("+ prenom +"," + nom+ ","+ cin+" ) ");
    //ou prenom, nom et cin sont des variables sa ne marche plus et sa m'affiche comme exception

    Exception in thread "main" java.sql.SQLException: ORA-00917: virgule absente

    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
    at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:331)
    at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:288)
    at oracle.jdbc.driver.T4Call.receive(T4Call.java:743)
    at oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:207)
    at oracle.jdbc.driver.T4CStatement.executeForRows(T4CStatement.java:946)
    at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1169)
    at oracle.jdbc.driver.OracleStatement.executeUpdateInternal(OracleStatement.java:1615)
    at oracle.jdbc.driver.OracleStatement.executeUpdate(OracleStatement.java:1580)
    at test.connexion.insert(connexion.java:83)
    at test.Main.main(Main.java:37)
    Java Result: 1
    BUILD SUCCESSFUL (total time: 0 seconds)


    /// J'ai pas compris ou manke la virgule donc si quelqu'un pourra m'aider sa serais très gentil

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    764
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 764
    Points : 909
    Points
    909
    Par défaut
    Citation Envoyé par yness Voir le message
    mais quand j'essai de faire [...] ou prenom, nom et cin sont des variables sa ne marche plus
    J'imagine que dans tes variables tu as les valeurs "mohamed", "arféwi" et "55555" ?
    Si c'est le cas, compare donc les deux requêtes que tu envoies :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    //avec les valeurs en dur dans la requête :
    "INSERT INTO professeurs (prenom,nom,cin) VALUES ('mohamed', 'arféwi','55555' )"
    // avec l'utilisation des variables :
    "INSERT INTO professeurs (prenom,nom,cin) VALUES (mohamed,arféwi,55555 ) "
    => il manque les apostrophes autour des chaînes de caractère !


    Pour injecter des variables dans une requête SQL, préfère l'utilisation d'un PreparedStatement.

  3. #3
    Nouveau membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2010
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2010
    Messages : 15
    Points : 25
    Points
    25
    Par défaut
    en effet le problème été liée à la variable qui été de type double, je l'ai changé à int et tout marche normalement

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 01/07/2015, 11h17
  2. récupérer une valeur de la base de données dans une liste
    Par Marie_7 dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 30/06/2015, 18h46
  3. Réponses: 8
    Dernier message: 15/02/2014, 01h30
  4. Réponses: 3
    Dernier message: 12/07/2010, 11h59
  5. Réponses: 1
    Dernier message: 29/07/2009, 22h20

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