Enregister/afficher une image base de donnee

ishere11 Messages postés 10 Date d'inscription mercredi 13 janvier 2010 Statut Membre Dernière intervention 29 mai 2010 - 7 avril 2010 à 21:35
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.

10 réponses

cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
7 avril 2010 à 22:14
Salut,

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

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
0
ishere11 Messages postés 10 Date d'inscription mercredi 13 janvier 2010 Statut Membre Dernière intervention 29 mai 2010
7 avril 2010 à 23:03
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();

            } 
            }
            

0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
8 avril 2010 à 10:55
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
0
ishere11 Messages postés 10 Date d'inscription mercredi 13 janvier 2010 Statut Membre Dernière intervention 29 mai 2010
8 avril 2010 à 13:52
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");
            }


0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
8 avril 2010 à 13:56
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
0
ishere11 Messages postés 10 Date d'inscription mercredi 13 janvier 2010 Statut Membre Dernière intervention 29 mai 2010
8 avril 2010 à 14:34
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)
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
8 avril 2010 à 14:43
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
0
ishere11 Messages postés 10 Date d'inscription mercredi 13 janvier 2010 Statut Membre Dernière intervention 29 mai 2010
8 avril 2010 à 22:14
j'ai utilisé la méthode setBlob mais le même probleme
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
8 avril 2010 à 22:18
Salut,

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

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
0
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
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)
0
Rejoignez-nous