Enregister/afficher une image base de donnee

Messages postés
10
Date d'inscription
mercredi 13 janvier 2010
Statut
Membre
Dernière intervention
29 mai 2010
- - Dernière réponse : ishere11
Messages postés
10
Date d'inscription
mercredi 13 janvier 2010
Statut
Membre
Dernière intervention
29 mai 2010
- 9 avril 2010 à 00:02
Bonsoir,
j'ai cree un frame contient une label et 2 bouton enregistrer et afficher
je vaux lorsque je clique sur le bouton enregistrer un jfilechooser affiche et selectionne une image cet image doit enregistrer dans la base de donnee et je clique sur le bouton afficher l'image affiche dans le jlabel
Mercii pour votre Aide.
Afficher la suite 

10 réponses

Messages postés
15838
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
73
0
Merci
Salut,

et qu'est ce que tu n'arrives pas à faire ?
______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
Commenter la réponse de cs_DARKSIDIOUS
Messages postés
10
Date d'inscription
mercredi 13 janvier 2010
Statut
Membre
Dernière intervention
29 mai 2010
0
Merci
je ne peut pas enregister l'image dans la ba se de donnee et l'afficher:


public void actionPerformed(ActionEvent e) {

       
        if (e.getSource() == Enregister) {
JFileChooser fc= new JFileChooser();
 int returnVal = fc.showOpenDialog(this);
            if (returnVal == JFileChooser.APPROVE_OPTION) {
  File file = fc.getSelectedFile();

            } 
            }
            

Commenter la réponse de ishere11
Messages postés
15838
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
73
0
Merci
Salut,

Il te faut faire un champ de type binaire dans ta base de données (le type exact dépend du SGBD que tu utilises), et enregistrer ton image sous forme binaire.
______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
Commenter la réponse de cs_DARKSIDIOUS
Messages postés
10
Date d'inscription
mercredi 13 janvier 2010
Statut
Membre
Dernière intervention
29 mai 2010
0
Merci
j'ai fait un champ type blob(oracle) , mais il y a une erreur au niveau de code

public void actionPerformed(ActionEvent e) {

       
        if (e.getSource() == Enregister) {
JFileChooser fc= new JFileChooser();
String path;
File file;
FileInputStream input=null;
 int returnVal = fc.showOpenDialog(this);
            if (returnVal == JFileChooser.APPROVE_OPTION) {
 file = fc.getSelectedFile();
  path== file.getAbsolutePath() ;
            try {
       File monImg = new File(path);
    input = new FileInputStream(monImg);
              Class.forName("oracle.jdbc.driver.OracleDriver");
        Connection  con=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:test","system","manager");
            PreparedStatement pst=con.prepareStatement("insert into testimg values(?,?)");
 pst.setString(1, t_NomImage.getText());
        pst.setBinaryStream(2, input);

            int valeur=pst.executeUpdate();
            if(valeur!=0){
              JOptionPane.showMessageDialog(null, "l'image est enregistrée");
            }




        } catch (Exception e) {
                JOptionPane.showMessageDialog(null, e.getMessage());
        }
            
                    } else {
                JOptionPane.showMessageDialog(null, "Aucun selection");
            }


Commenter la réponse de ishere11
Messages postés
15838
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
73
0
Merci
Salut,

il y a une erreur au niveau de code


On n'est pas devin : si tu nous dis pas quelle erreur tu as, ca va être dur de t'aider...
______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
Commenter la réponse de cs_DARKSIDIOUS
Messages postés
10
Date d'inscription
mercredi 13 janvier 2010
Statut
Membre
Dernière intervention
29 mai 2010
0
Merci
erreurs:

Exception in thread "AWT-EventQueue-0" java.lang.AbstractMethodError: oracle.jdbc.driver.OraclePreparedStatement.setBinaryStream(ILjava/io/InputStream;)V
        at javaapplication1.test.EnregistrerImageActionPerformed(test.java:146)
        at javaapplication1.test.access$200(test.java:32)
        at javaapplication1.test$2.actionPerformed(test.java:68)
        at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
        at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
        at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
        at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
        at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
        at java.awt.Component.processMouseEvent(Component.java:6263)
        at javax.swing.JComponent.processMouseEvent(JComponent.java:3255)
        at java.awt.Component.processEvent(Component.java:6028)
        at java.awt.Container.processEvent(Container.java:2041)
        at java.awt.Component.dispatchEventImpl(Component.java:4630)
        at java.awt.Container.dispatchEventImpl(Container.java:2099)
        at java.awt.Component.dispatchEvent(Component.java:4460)
        at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4574)
        at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238)
        at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
        at java.awt.Container.dispatchEventImpl(Container.java:2085)
        at java.awt.Window.dispatchEventImpl(Window.java:2475)
        at java.awt.Component.dispatchEvent(Component.java:4460)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
Commenter la réponse de ishere11
Messages postés
15838
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
73
0
Merci
Salut,

Utilise la méthode java.sql.Blob) setBlob plutôt que setBinaryStream.
______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
Commenter la réponse de cs_DARKSIDIOUS
Messages postés
10
Date d'inscription
mercredi 13 janvier 2010
Statut
Membre
Dernière intervention
29 mai 2010
0
Merci
j'ai utilisé la méthode setBlob mais le même probleme
Commenter la réponse de ishere11
Messages postés
15838
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
73
0
Merci
Salut,

Montre ton code, et l'exception qui est levée.
______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
Commenter la réponse de cs_DARKSIDIOUS
Messages postés
10
Date d'inscription
mercredi 13 janvier 2010
Statut
Membre
Dernière intervention
29 mai 2010
0
Merci
Salut,

public void actionPerformed(ActionEvent e) {

       
        if (e.getSource() == Enregister) {
JFileChooser fc= new JFileChooser();
String path;
File file;
FileInputStream input=null;
 int returnVal = fc.showOpenDialog(this);
            if (returnVal == JFileChooser.APPROVE_OPTION) {
 file = fc.getSelectedFile();
  path== file.getAbsolutePath() ;
            try {
       File monImg = new File(path);
    input = new FileInputStream(monImg);
              Class.forName("oracle.jdbc.driver.OracleDriver");
        Connection  con=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:test","system","manager");
            PreparedStatement pst=con.prepareStatement("insert into testimg values(?,?)");
 pst.setString(1, t_NomImage.getText());
        pst.setBlob(2, input);

            int valeur=pst.executeUpdate();
            if(valeur!=0){
              JOptionPane.showMessageDialog(null, "l'image est enregistrée");
            }




        } catch (Exception e) {
                JOptionPane.showMessageDialog(null, e.getMessage());
        }
            
                    } else {
                JOptionPane.showMessageDialog(null, "Aucun selection");
            }



Erreurs;

Exception in thread "AWT-EventQueue-0" java.lang.AbstractMethodError: oracle.jdbc.driver.OraclePreparedStatement.setBlob(ILjava/io/InputStream;)V
        at javaapplication1.test.EnregistrerImageActionPerformed(test.java:146)
        at javaapplication1.test.access$200(test.java:32)
        at javaapplication1.test$2.actionPerformed(test.java:68)
        at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
        at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
        at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
        at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
        at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
        at java.awt.Component.processMouseEvent(Component.java:6263)
        at javax.swing.JComponent.processMouseEvent(JComponent.java:3255)
        at java.awt.Component.processEvent(Component.java:6028)
        at java.awt.Container.processEvent(Container.java:2041)
        at java.awt.Component.dispatchEventImpl(Component.java:4630)
        at java.awt.Container.dispatchEventImpl(Container.java:2099)
        at java.awt.Component.dispatchEvent(Component.java:4460)
        at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4574)
        at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238)
        at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
        at java.awt.Container.dispatchEventImpl(Container.java:2085)
        at java.awt.Window.dispatchEventImpl(Window.java:2475)
        at java.awt.Component.dispatchEvent(Component.java:4460)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
Commenter la réponse de ishere11