Résultat d'une requête dans un tableau 2D

Résolu
said_dias_01 Messages postés 103 Date d'inscription dimanche 20 mars 2005 Statut Membre Dernière intervention 30 décembre 2017 - 17 déc. 2009 à 09:49
ali1best Messages postés 1 Date d'inscription mercredi 20 janvier 2010 Statut Membre Dernière intervention 24 août 2011 - 9 févr. 2011 à 16:34
Quand j'utilise le code suivant ça marche bien
[b] ...
...
...
Statement inst =con. createStatement ();
String sql ="select * from t_ville" ;
ResultSet rec =inst. executeQuery (sql);

while (rec. next ())
{
System .out. println (rec. getString (1) + " " + rec.getString (2));

}/b
Résultat
----------------
1 Paris
2 Madrid
3 Rome
4 xxxx

Je veux de remplir un tableau de 2D a partir de la requête j'ai utilisé le code suivant

[b]String tab2dim [][] = new String[99][2];

int ligne=0;

int colone=0;

while (rec. next ())

{
tab2dim[ligne][colone] = rec.getString (1) ;
tab2dim[ligne][colone+1] = rec.getString (2) ;

ligne+=1;

colone=0;

}/b

Erreur : Index de descripteur non valide

DE QUEL INDEX IL PARLE ??!!!!!!!

9 réponses

uhrand Messages postés 491 Date d'inscription samedi 20 mai 2006 Statut Membre Dernière intervention 15 juillet 2012 9
20 déc. 2009 à 14:49
Certains engins sql ne permettent pas la lecture répétée des mêmes colonnes. La solution c'est de sauvegarder les valeurs lues dans des variables et de lire ces variables par la suite.
1
uhrand Messages postés 491 Date d'inscription samedi 20 mai 2006 Statut Membre Dernière intervention 15 juillet 2012 9
17 déc. 2009 à 23:09
Quel est la valeur de l'index lors de l'exception? Je devine que c'est "ligne" qui dépasse 99.
0
said_dias_01 Messages postés 103 Date d'inscription dimanche 20 mars 2005 Statut Membre Dernière intervention 30 décembre 2017 1
18 déc. 2009 à 02:35
selon votre réponse j'ai modifier le code ,avant d'arriver au 99 je l'ai obligé de sortir de la boucle


while (rec. next ())

{
tab2dim[ligne][colone] = rec.getString (1) ;
tab2dim[ligne][colone+1] = rec.getString (2) ;

ligne+=1;

colone=0;
[b]
if (ligne<=50)
{
break;
}/b

}
Il reste même Erreur : Index de descripteur non valide
0
uhrand Messages postés 491 Date d'inscription samedi 20 mai 2006 Statut Membre Dernière intervention 15 juillet 2012 9
19 déc. 2009 à 14:48
> Il reste même Erreur : Index de descripteur non valide
C'est quel type de message? Je ne connais pas cette formulation dans Java. Normalement, les messages Java indiquent plus précisément la source de l'erreur et même les lignes concernées dans le code source.
0

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

Posez votre question
said_dias_01 Messages postés 103 Date d'inscription dimanche 20 mars 2005 Statut Membre Dernière intervention 30 décembre 2017 1
20 déc. 2009 à 01:25
merci d'abord pour la réponse ,

voila l'erreur complet :Erreur de données:[Microsoft][SQL Server Native Client 10.0]Index de descripteur non valide
en considération que Erreur de données c'est mon message perso dans la gestion d'exception
et voila une partie code:


private void afficher(){
Connection conn = null;
String teste = "SELECT Name, Adress FROM T_ville;";
try{
Class .forName ("sun.jdbc.odbc.JdbcOdbcDriver" );
Connection con =DriverManager .getConnection ("jdbc:odbc:db_jdb");
Statement inst =con. createStatement ();
String sql ="select * from t_ville" ;
ResultSet rec =inst. executeQuery (sql);
String tab2dim [][] = new String[99][99];
int ligne=0;
int colone=0;
while (rec. next ()){
tab2dim[ligne][colone] = rec.getString (1) ;
tab2dim[ligne][colone+1] = rec.getString (2) ;
ligne+=1;
colone=0;
System .out. println (rec. getString (1) + " " + rec.getString (2));
}
rec. close ();
}
catch (ClassNotFoundException e ){
System .out. println ("Pilote introuvable:" + e.getMessage () );
}
catch (SQLException e){
System .out. println ("Erreur de données:" + e.getMessage () );
}
0
uhrand Messages postés 491 Date d'inscription samedi 20 mai 2006 Statut Membre Dernière intervention 15 juillet 2012 9
20 déc. 2009 à 04:23
Essaie de supprimer la ligne suivante:
System.out.println(rec.getString(1) + " " + rec.getString(2));
0
said_dias_01 Messages postés 103 Date d'inscription dimanche 20 mars 2005 Statut Membre Dernière intervention 30 décembre 2017 1
20 déc. 2009 à 14:32
Oui oui oui il fonctionne bien
Comment ça ?
J’utilise ce linge pour assurer que le résultat n’est pas null
Tu peut m’expliquer pourquoi ?

Et merci 1000 foi je soufre depuis une semaine sur les forums de java merci
0
said_dias_01 Messages postés 103 Date d'inscription dimanche 20 mars 2005 Statut Membre Dernière intervention 30 décembre 2017 1
20 déc. 2009 à 15:22
Merci de votre Aide
0
ali1best Messages postés 1 Date d'inscription mercredi 20 janvier 2010 Statut Membre Dernière intervention 24 août 2011 19
9 févr. 2011 à 16:34
Moi aussi je suis en train de developper une application en java...mais j'ai toujours cet erreur : java.sql.SQLException: [Microsoft][ODBC SQL Server Driver]Index de descripteur non valide mais la chose qui me cofuse est que il y'a des lignes qui fonctionnent mais d'autres non.
voila une partie du code :
PnlInfo.txtcodeArt.setText(res.getString("codeart"));// c bon

PnlInfo.txtVF.setText(res.getString("vf"));//c bon
PnlInfo.txtdesig1.setText(res.getString("desigart1"));//c bon
PnlInfo.txtdesig2.setText(res.getString("desigart2"));//c bon
PnlInfo.txtdtecrea.setText(""+res.getDate("datecreationnom"));//c bon
PnlInfo.txtdtemod.setText(""+res.getDate("datemajnom"));//c bon

PnlGen.txtCodeTypeArt.setText(codetypeart);//pas bon
PnlGen.txtTypeArt.setText(res.getString("typeart"));//pas bon
PnlGen.txtGroupe.setText(res.getString("codegroupeart"));//pas bon

il ya des autres lignes aussi qui ne fonctionnent pas a cause du meme erreur....



merci de me donner un peu d'aide
Best Of The Best
0
Rejoignez-nous