Erreur code java String[][] - Java - Programmation
Marsh Posté le 28-05-2011 à 00:04:36
quelle output ? t'en as plein
sinon, ça c'est un probable tableau de String balancé tel quel à system.out.println(), il faut que tu boucles sur les éléments pour les afficher un à un
Marsh Posté le 28-05-2011 à 00:15:14
merci bien pour votre réponse ,
oui je parle de "data"
vous avez raison
mais il n'y a pas un moyen de retouner toue le tableau
j'en ai besoin ce code comme opération dans un web service
merci
Marsh Posté le 28-05-2011 à 00:23:17
tu peux retourner le tableau oui, d'ailleurs c'est ce que fait ta méthode operation, ça marche.
mais pour l'afficher en texte quelque part (dans la console ici), non pas d'autre moyen que de boucler
Marsh Posté le 28-05-2011 à 00:41:01
d'accord merci bien
mais quand je teste mon web service qui retourne String[] [[Ljava.lang.String;@b32e13d
j'ai doute si ça fonctionnera en l'associant à un client later
qu'en pensez vous?
Marsh Posté le 28-05-2011 à 01:08:29
xml ? ou (bien mieux) json ?
tu pourras sérialiser ton objet pour le faire passer par ton web service.
Marsh Posté le 28-05-2011 à 02:29:44
XML càd avec SOAP
j'utilise netbeans comme IDE , ile me semble assez facile quant à la manipulation des Web services
mais sincérement je suis assez débutante en web service , quand un tel probléme m'en face je me suis bloquée .
comment je peux sérialiser un objet ?
merci infiniment
Marsh Posté le 27-05-2011 à 23:17:22
Salut,
j'ai crée la classe suivante :
public class operation {
public String[][] operationn(@WebParam(name = "key" )
String key) {
String [][]data =null;
try {
//TODO write your implementation code here:
String[] columnNames = {"Videos", "Information"};
//---------Cconnexion à la base de données:----------------------
String username = "root";
String password = "0000";
Statement stmt;
ResultSet rs;
Class.forName("com.mysql.jdbc.Driver" ).newInstance();
String url = "jdbc:mysql://localhost:3306/mabase";
Connection conn = null;
conn = (Connection) DriverManager.getConnection(url, username, password);
System.out.println("OK connexion réussie..." );
stmt = (Statement) conn.createStatement();
rs = stmt.executeQuery("select * from videos where nomVideo='" + key + "'" );
rs.last();
int NbreResultats = rs.getRow();// n' a pas de sens non?
System.out.println("Le nombre des résultats vaut " + NbreResultats); // to del
data = new String[NbreResultats][columnNames.length];
rs.beforeFirst();
String NEWLINE = System.getProperty("line.separator" );
while (rs.next()) {
String im = rs.getString("lien" );
System.out.println(im); // to del
String Info = ""+" Nom de la vidèo :" + rs.getString("nomVideo" ) + NEWLINE + " Catégorie :" + rs.getString("categorie" ) + NEWLINE + " Durée :" + rs.getString("duree" ) + NEWLINE;
System.out.println(Info);
int i=0;
data[i][0] =rs.getString("vignette" );
data[i][1] = Info;
i++;
}
rs.close();
stmt.close();
} catch (SQLException ex) {
//System.out.println("erreur sqlex" );//
Logger.getLogger(operation.class.getName()).log(Level.SEVERE, null, ex);
} catch (InstantiationException ex) {
// System.out.println("erreur Inst" ); //
Logger.getLogger(operation.class.getName()).log(Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {
// System.out.println("erreur ill" );//
Logger.getLogger(operation.class.getName()).log(Level.SEVERE, null, ex);
} catch (ClassNotFoundException ex) {
// System.out.println("erreur class not found" );
Logger.getLogger(operation.class.getName()).log(Level.SEVERE, null, ex);
}
return data;
}
public static void main (String [] args){
operation op = new operation();
System.out.println(op.operationn("exemple" ));
}
}
pas d'erreur mais comme output il m'affiche [[Ljava.lang.String;@b32e13d !!!!!!
c'est quoi le probléme SVP?
merci d'avance