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 :

Ajouter une requête dans une table MySQL avec Java 1.8


Sujet :

JDBC Java

  1. #1
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Janvier 2020
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 27
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2020
    Messages : 21
    Points : 20
    Points
    20
    Par défaut Ajouter une requête dans une table MySQL avec Java 1.8
    Bonjour j'ai déjà posté une question similaire mais sans avoir eu les réponses pour m'aider à résoudre mon problème.

    Je souhaiterai remplir une table déjà créee sur la MySQL 5.7 Command Line Client et contenant déjà quelques lignes à partir de Java 1.8.
    Ma BDD s'appelle Gestion_analyses et ma table En_attente. La connexion est bien établies puisque j'arrive à faire d'autres actions comme récupérer les données de ma table, mais je n'arrive pas à écrire de requêtes dedans ...
    Voilà ce que j'ai essayé en cherchant sur des forums et en important toutes les bibliothèques requises :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
         String req = "INSERT INTO En_attente(id, nom) VALUES(?,?)"; 
     
     
                   try (Connection conn = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/gestion_analyses","root","mdp");
                   Statement state = conn.createStatement();
     
                   PreparedStatement statement = conn.prepareStatement(req); 
                   statement.setObject(1,"toto"); 
                   statement.setObject(2,"titi");  
                   statement.executeUpdate();
    Les 3 dernières lignes sont directement considérées comme des erreurs cette fois aussi : 'variables in try-with-ressources not supported in-source 1.8 , use -source 9'

    Je comprends bien que c'est un soucis de version Java mais je l'ai installé très récemment et je ne changerai pas puisque tout mon code concernant l'application que je souhaite créer a été fait avec cette version .... Y a t-il un moyen de contourner ce problème ?

    Je vous remercie d'avance

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

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 310
    Points : 9 522
    Points
    9 522
    Billets dans le blog
    1
    Par défaut
    Ce n'est pas la bonne syntaxe pour le try with resources
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    try
    (Connection conn = DriverManager.getConnection(url, user, password);)
    {
        // là tu utilises l'objet conn...   
    }
     catch (Exception e)
    {
         e.printStackTrace();
    }
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Janvier 2020
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 27
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2020
    Messages : 21
    Points : 20
    Points
    20
    Par défaut
    Citation Envoyé par OButterlin Voir le message
    Ce n'est pas la bonne syntaxe pour le try with resources
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    try
    (Connection conn = DriverManager.getConnection(url, user, password);)
    {
        // là tu utilises l'objet conn...   
    }
     catch (Exception e)
    {
         e.printStackTrace();
    }

    Merci OButterlin, mais je n'ai pas mis tout mon programme ici, comme c'est pour une entreprise donc une partie est confidentiel mais je n'ai aucun soucis pour le try, la connexion est bine établie avec ma base de données et j'extrait même des données à un moment mais c'est vraiment la partie rédaction d'une requête qui me pose problème comme je l'ai expliqué : le ExecuteUpdate se souligne automatiquement comme une erreur donc impossible de lancer le code ...

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

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 310
    Points : 9 522
    Points
    9 522
    Billets dans le blog
    1
    Par défaut
    Ok, mais à trop en enlever, on ne voit pas le lien avec les ressources du try, du coup, je ne vois pas trop ce qui pose problème.

    La logique voudrait que tu ais une séquence comme celle-ci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    String req = "insert into ...";
    try
    (
       Connection conn = DriverManager.getConnection(url, user, password);
       PreparedStatement statement = connection.prepareStatement(req);
    )
    {
       statement.setObject(1, valeur1);
       statement.setObject(2, valeur2);
       statement.executeUpdate();
    }
     catch (Exception e)
    {
       e.printStackTrace();
    }
    A noter qu'il serait plus judicieux d'utiliser les setXXX appropriés au type de la colonne, ici setString(1, "toto"); d'après ton exemple.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Janvier 2020
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 27
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2020
    Messages : 21
    Points : 20
    Points
    20
    Par défaut
    Citation Envoyé par OButterlin Voir le message
    Ok, mais à trop en enlever, on ne voit pas le lien avec les ressources du try, du coup, je ne vois pas trop ce qui pose problème.

    La logique voudrait que tu ais une séquence comme celle-ci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    String req = "insert into ...";
    try
    (
       Connection conn = DriverManager.getConnection(url, user, password);
       PreparedStatement statement = connection.prepareStatement(req);
    )
    {
       statement.setObject(1, valeur1);
       statement.setObject(2, valeur2);
       statement.executeUpdate();
    }
     catch (Exception e)
    {
       e.printStackTrace();
    }
    A noter qu'il serait plus judicieux d'utiliser les setXXX appropriés au type de la colonne, ici setString(1, "toto"); d'après ton exemple.

    Merci OButterlin, je n'ai pas dû être assez claire et je m'en excuse, je comprend bien ce que tu me proposes mais mon soucis c'est que lorsque je tape les lignes de code contenant le SetObject ou Set String comme tu m'as proposé, et la ligne du executeUpdate, elle se souligne automatiquement en rouge avec le message suivant lié : 'variables in try-with-ressources not supported in-source 1.8 , use -source 9' donc impossible de lancer mon programme. Donc j'aimerai savoir s'il n'y a pas une autre syntaxe pour la version de Java que j'utilise ou comment contourner cette erreur pour pouvoir lancer mon programme et écrire une requête. Car sur les autres forums dans lesquels j'ai cherché, je trouve toujours une syntaxe similaire à ce que tu me proposes mais que je ne peux donc pas utiliser ...

    Encore merci pour ton aide.

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

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 310
    Points : 9 522
    Points
    9 522
    Billets dans le blog
    1
    Par défaut
    Il doit y avoir un autre problème parce que j'ai fait le test avec java 1.8 et ça fonctionne parfaitement.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

Discussions similaires

  1. Réponses: 5
    Dernier message: 15/04/2009, 16h38
  2. [MySQL] Mettre à jour une table mysql avec un fichier xml ou csv
    Par pasbonte dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 16/02/2009, 09h56
  3. Réponses: 2
    Dernier message: 19/02/2007, 14h02
  4. Réponses: 2
    Dernier message: 09/11/2006, 10h59
  5. Es-ce possible de créer une table MySQL avec MS Excel
    Par pierrot10 dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 16/10/2005, 07h30

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