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

Persistance des données Java Discussion :

Probleme dans l'insertion dans une BD


Sujet :

Persistance des données Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Développeur Java
    Inscrit en
    Octobre 2014
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Octobre 2014
    Messages : 24
    Par défaut Probleme dans l'insertion dans une BD
    Bonsoir
    Je veux inserer des informations dans une base de données mySQL
    voici mon
    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
     /*
     * To change this license header, choose License Headers in Project Properties.
     * To change this template file, choose Tools | Templates
     * and open the template in the editor.
     */
    package html;
    import java.awt.Color;
    import java.awt.Font;
    import java.awt.GridLayout;
    import java.util.Vector;
    import javax.swing.*;
    import java.awt.event.MouseEvent;
    import java.io.IOException;
    import java.sql.*;
    import java.util.List;
    import java.util.logging.Level;
    import java.util.logging.Logger;
    import javax.swing.JOptionPane;
    import javax.swing.JScrollPane;
    import org.jsoup.Jsoup;
    import org.jsoup.nodes.Document;
    import org.jsoup.nodes.Element;
    import org.jsoup.select.Elements;
    /**
     *
     * @author Haithem
     */
    public class ProduitPanel extends JPanel {
       public JLabel img,title,prix;
       Connection connect ;
     
            ResultSet rs;
            static String url = "jdbc:mysql://localhost:3306/memoire";
          static String user ="root";
          static String password="";
     
        public String getPrix(){
            return prix.getText();
        }
        public String getTitle(){
            String titre = null;
            Document doc = Jsoup.parse(title.getText(),"UTF-8");
        Elements titles = doc.select("h2");
        titre = titles.text();
     
     
          return titre;     
        }
     
        public String getUrl(){
            String url = null;
            Document doc = Jsoup.parse(title.getText(),"UTF-8");
        Elements lien = doc.select("a");
        url = lien.attr("href").toString();
     
     
          return url;     
        }
     
            public ProduitPanel(int i,int j){
            super();
            this.setBounds(i, j  , 800,250);
            img = new JLabel("IMAGE");
            title = new JLabel("TITLE");
            title.setBackground(Color.BLUE);
            prix = new JLabel("PRIX");
            img.setSize(50, 50);
            //img.setBounds(10, 20, 50,200);
            //title.setBounds(60, 20, 50 , 80);
            //prix.setBounds(100, 120, 50, 50);
            title.setSize(50,50);
            prix.setSize(50,50);
     
       //     img.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));
     //       title.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));
    //        prix.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));
            this.add(img);
            this.add(title);
            this.add(prix);
            this.setBorder(BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));
            this.addMouseListener(new java.awt.event.MouseAdapter() {
     
     
            public void mouseClicked(java.awt.event.MouseEvent evt) {
     
     
                    System.out.println(((ProduitPanel)evt.getSource()).getPrix().substring(0,((ProduitPanel)evt.getSource()).getPrix().length()-1 ) + "\t" + ((ProduitPanel)evt.getSource()).getUrl() + "\t" + ((ProduitPanel)evt.getSource()).getTitle() );
                    try{
     
                    connect = DriverManager.getConnection(url, user, password);
                     String sql = "INSERT INTO `memoire`.`produit` (`prix`, `title`, `lien`) VALUES (? , ? , ?)";
     
     
                    PreparedStatement pstmt = connect.prepareStatement(sql);
                    pstmt.setDouble(1, Double.parseDouble(((ProduitPanel)evt.getSource()).getPrix().substring(0,((ProduitPanel)evt.getSource()).getPrix().length()-1 )));
    				pstmt.setString(2, ((ProduitPanel)evt.getSource()).getTitle());
                                    pstmt.setString(3, ((ProduitPanel)evt.getSource()).getUrl());
                                    pstmt.executeQuery(sql);
                    }catch(SQLException ex){
                        ex.getMessage();
                    }
     
                }
            });
    this.setLayout(new GridLayout());
                }
        @Override
                public String toString(){
                    return this.title.getText();
                }
    }
    j'ai aucun erreur dans le code , et aucune exception SQL , je sais pas ou est le problème exactement ?!
    Merci d'avance pour votre aide

  2. #2
    Membre averti
    Homme Profil pro
    Développeur Java
    Inscrit en
    Octobre 2014
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Octobre 2014
    Messages : 24
    Par défaut
    UP

  3. #3
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    Et c'est quoi ton problème? Il se passe quoi vs qu'est-ce qui devrait se passer? Ton panneau ne s'affiche pas? Ton mouse listener n'est pas déclenché? T'as les message du mouse listener dans la console mais rien dans la db?

    Au passage n'oublie pas que tu dois toujours fermet tes statements ou tes connections quand tu n'en a plus besoin, de préférence dans le finally ou mieux, en utilisant un try with resources.

  4. #4
    Membre averti
    Homme Profil pro
    Développeur Java
    Inscrit en
    Octobre 2014
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Octobre 2014
    Messages : 24
    Par défaut
    merci tchize_ pour votre réponse .
    le problème c'etait que rien se passe dans la BD mais c'est réglé.
    Maintenant , j'ai ce code la..
    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    try{
     
                    connect = DriverManager.getConnection(url, user, password);
     
                     String select="SELECT clique FROM produit where lien=?";
                     PreparedStatement stmt = connect.prepareStatement(select);
                     stmt.setString(1,((ProduitPanel)evt.getSource()).getUrl() );
                     rs = stmt.executeQuery();
                     if(rs.next()){
                         String sql1 = "UPDATE `produit` SET clique = ? WHERE lien=?";
                         PreparedStatement update = connect.prepareStatement(sql1);
     
                         update.setInt(1, rs.getInt("count")+1);
                         update.setString(2, ((ProduitPanel)evt.getSource()).getUrl());
                         update.executeUpdate();
                         System.err.println(rs.getInt("count"));
                     }else{
                    String sql = "INSERT INTO `produit` (`prix`, `title`, `lien`) VALUES (?,?,?,?)";
                    PreparedStatement pstmt = connect.prepareStatement(sql);
                    pstmt.setDouble(1, Double.parseDouble(((ProduitPanel)evt.getSource()).getPrix().substring(0,((ProduitPanel)evt.getSource()).getPrix().length()-1 )));
    				pstmt.setString(2, ((ProduitPanel)evt.getSource()).getTitle());
                                    pstmt.setString(3, ((ProduitPanel)evt.getSource()).getUrl());
                                    pstmt.setInt(4, 1);
                                    pstmt.executeUpdate();
                     }}catch(SQLException ex){
                        ex.getMessage();
                    }
    Quand je clique sur le panneau , je veux récupérer une certaine colonne de la BD ( la colonne clique ) est la mis a jour..
    mais rien se passe :/

  5. #5
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    rs.getInt("count") => cette colonne ne fait pas partie de ton select. Donc ça ne peux pas marcher.
    De plus, tu ne peux pas avoir deux resultSet ouverts en même temps sur ta connexion. Donc ton println juste après va déclencher une erreur.

  6. #6
    Membre averti
    Homme Profil pro
    Développeur Java
    Inscrit en
    Octobre 2014
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Octobre 2014
    Messages : 24
    Par défaut
    ah j'ai modifié le code dans netbeans et j'ai oublié de le modifier ici..
    j'ai une seule resultset ouvert sur ma connexion

Discussions similaires

  1. Pb clé étrangère dans l'insertion dan une DB Oracle à partir de J2EE
    Par aafaa dans le forum Développement Web en Java
    Réponses: 1
    Dernier message: 09/11/2010, 10h11
  2. Réponses: 5
    Dernier message: 10/06/2010, 16h45
  3. insertion dans differentes tables d'une SGBD relationelle
    Par amesnaou dans le forum Requêtes
    Réponses: 1
    Dernier message: 06/04/2009, 17h21
  4. [Spip] Insertion dans un article d'une image hébergée
    Par phoque.r dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 3
    Dernier message: 16/11/2008, 20h16
  5. erreur dans l'insertion d'une ligne dans la table
    Par Eternel_F dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 16/06/2008, 09h19

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