Bonjour,
Je programme en Java et je lis une table pour laquelle la grandes majorité des colonnes sont définies en "BLOB".
J'ai un problème lorsque ma colonne ne contient que du code HTML.
Par exemple j'ai une colonne "Bibliographie" qui contient le texte suivant :
Je lis toutes les colonnes avec le code suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 <html> <head> </head> <body> <p style="margin-top: 0"> *Ceci est juste un test de font <font face="Vladimir Script" size="6">Vladimir</font>; il faut vérifier que tout marche bien </p> </body></html>
A l'exécution la variable "biblio" est vide. Évidemment la colonne en question n'est pas vide. Pour les autres colonnes qui contiennent du texte, ce code marche très bien.
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 try { String requete =""; stmt = cnx.createStatement(); requete = "Select * from fiches Where Fichier=\"" + fichier + "\""; // la colonne fichier est définie en VARCHAR(50) java.sql.ResultSet rs= stmt.executeQuery(requete); boolean ok = false; while (rs.next()) { String biblio= convertBlobX(rs.getBlob("Bibliographie"),"Bibliographie" ); (même code pour les autres colonnes) } if (! ok) { JOptionPane.showMessageDialog( myFrame," Il n'existe pas de fiche dans la base pour cette personne." );return; } } catch (Exception ex) {System.out.println(ex.toString()); return;} } ------------------------------------------------------------------------------------------- private String convertBlob(Blob blob, String col) { System.out.println(col); if (blob==null) return ""; try { byte[] bdata = blob.getBytes(1, (int) blob.length()); String s = new String(bdata); System.out.println(" " + s); return s; } catch (Exception ex) {System.out.println(ex.toString()); return "";} }
Avez-vous des idées ? Merci d'avance.
Gégé
Partager