Problème avec insertion de fichier dans la base de données
salut les développeur ,j'ai vraiment besoin de vous
j'ai réalisé une application en java ma base de donnée et sous postgrsql... et ça était necessaire de sauvegarder des fichier dans la base... dans un premier temps je faisais un test en utilisant une table simple composée de deux colonne "nom" de type charcter varying et "image" de type btyea (pour la donnée binaire) en utilisant le code ci dessous tout marche bien le fichier se sauvegarde normalement
Code:
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
| public class ChargerImage {
public void insererImage(String nom, String chemin ,String Table) {
File file = new File(chemin);
try{
//lien vers la base de données
String url = "jdbc:postgresql://localhost:5432/gestion";
String driver="org.postgresql.Driver";
String user = "postgres";
String MDP="*****";
Connection connection = DriverManager.getConnection(url,user,MDP);
//lien vers notre fichier image
FileInputStream stream = new FileInputStream(file);
//préparation de l'instruction SQL
String sql = "INSERT INTO "+Table+" VALUES (?, ?)";
PreparedStatement statement = connection.prepareStatement(sql);
//insertion de l'image
statement.setString(1, nom);
statement.setBinaryStream(2, stream, (int)file.length());
statement.executeUpdate();
}catch(Exception e){
//traitement des erreurs SQL, IO, etc .
JOptionPane.showMessageDialog(null, e.getMessage());
}finally {
//fermeture de la connexion, du flux, etc.
}
} |
mais quand je suis passé au sérieux c a d ma véritable table qui contient 10 colonne + les deux autre colonne les problemes se sont instalés et le fichier ne se sauvegarde pas,quelqu'un aurait une idée sur ce big probléme?? comment puisse je modifier le code pour que ça marche avec une table qui contient plusieurs champs?? :'(
merci d'avance pour votre aide