ResulSet dans un tableau a 2 dimensions de type Vector

ResulSet dans un tableau a 2 dimensions de type Vector - Java - Programmation

Marsh Posté le 04-01-2003 à 19:24:49    

Je veux mettre le résultat d'un recordset dans un tableau de type vector à 2 dimensions.  
 
Les colonnes de la première ligne du tableau contiendrait le nom des champs, et les lignes suivantes contiendrait les résultats de la requete.
 
Je veux un tableau de type vector car je ne connait pas les SELECT demandés ni les résultats, et c'est aussi pour faire une méthode unique pour les req SELECT.
 
Le pb est que j'ai pas trouvé comment faire ce tableau à deux dimensions. Les méthodes de la classe Vector s'applique à un tableau à 1 dimensions...
 
Si qq'1 à une idée...

Reply

Marsh Posté le 04-01-2003 à 19:24:49   

Reply

Marsh Posté le 04-01-2003 à 20:18:07    

bah tu mets des Vector dans des Vector...  
un [][] c'est jamais qu'un [] dans [] ...
 
ps: vector ça pue :o
ps2: HashMap ça serait ptet mieux dans ton cas.


---------------
#19b | Mardi 18 Février 2003 - nous fêtons les Bernadette | contre le fleur icq!
Reply

Marsh Posté le 04-01-2003 à 20:49:11    

ce qui donnerait  
Vector [][] vResultat;
 
Et pour l'utilisation, on peut mettre
vResultat[x][y].addElement("toto" ) ?
 
(Je connait pas bien encore Java, mais Vector à plus de méthodes que HashMap...)

Reply

Marsh Posté le 04-01-2003 à 21:53:09    

:cry:  
Vector veResult[][] = new Vector()  
 
donne l'erreur suivante :  
incompatible types
 
Il faut pourtant bien que je fasse new Vector() si je veux manipuler veResult avec les méthodes vector.
 

Reply

Marsh Posté le 04-01-2003 à 22:34:40    

Vector resultsetV = new Vector();
Vector row1 = new Vector();
Vector row2 = new Vector();
 
resultsetV.add(row1);
resultsetV.add(row2);
 
 
 
bon c'est l'idée quoi.
ou bien tu peux faire un array de Vector...
Vector[] vectArr = new Vector()[4];
 
(sans garantie de syntaxe :D)


---------------
#19b | Mardi 18 Février 2003 - nous fêtons les Bernadette | contre le fleur icq!
Reply

Marsh Posté le 04-01-2003 à 22:49:13    

--greg-- a écrit :

Vector[] vectArr = new Vector()[4];


 
quelle horreur

Reply

Marsh Posté le 04-01-2003 à 22:52:26    

DarkLord a écrit :


 
quelle horreur

certes


---------------
#19b | Mardi 18 Février 2003 - nous fêtons les Bernadette | contre le fleur icq!
Reply

Marsh Posté le 10-01-2003 à 18:26:11    

Me revoilà après une semaine... et un peu de java
 
J'ai donc bien essayé de mettre un vector dans un vector. Le truc est que je ne connaissais pas le nombre de "cases" du premier vector. J'avais donc 2 vectors V1 et V2, tous les 2 des instances.
Je remplissais V2 que je mettais dans V1, puis j'efface V2, le reremplit et le remet dans V1. Ceci me donnait V1 avec les memes collections dans chaque "cases"
 
J'ai aussi essayé les hashmap, qui pour mes besoins compliquaient encore plus tous les traitements, et je retombais sur les memes problèmes qu'avant.
 
Au final, j'ai laissé tomber les tableaux multidimensionels dynamiques pour le moment... jusqu'au jour où...
 
Je vais qd meme essayer ta syntaxe greg...
 
Merci!

Reply

Marsh Posté le 10-01-2003 à 18:31:02    

mais euh ... comment dire ....
 
t'as jeté un coup d'oeil a la javadoc un jour quand meme ?

Reply

Marsh Posté le 10-01-2003 à 18:39:40    

oui... lu et relu...  
 
(c'est mon premier prog en java... indulgence!!)

Reply

Marsh Posté le 10-01-2003 à 18:39:40   

Reply

Marsh Posté le 10-01-2003 à 20:30:11    

j'viens de relire ton post, tu **effacais** ton 2e Vector de quelle maniere ? v2.clear ? si c ca c un peu normal hein ...

Reply

Marsh Posté le 10-01-2003 à 20:45:03    

oui, je faisais clear(). Je trouve aussi cela normal... et j'en ai conclu que comme c'était une instance si je change les valeurs du vector après, çà change aussi les valeurs dans V1.
 
Pour éviter cela, j'aurai pu passer le vector en colection et mettre la collection dans V1 mais bon, quel interet. Il falait que je récupère le contenu du vector après à l'aide de Vector(collection c). Et puis je doute de cette méthode.
 
Une autre chose est venue m'embetter aussi, c'est que si on met un hashmap dans un hashmap à l'aide de put, on récupère le hashmap que l'on a mis dans l'autre par get() de la classe HashMap (de l'interface Map). On récupère un objet, et comment on peut passer de cette objet à un objet HashMap sans avoir de contructeur HashMap prenant en paramêtre un objet?
 
Une dernière question que je me suis posée : le hashcode que l'on voit beaucoup sert à quoi. Malgré la javadoc et les livres, j'ai pas encore compris son rôle exactement (un rôle utile)


Message édité par BreizhynGd le 10-01-2003 à 20:46:36
Reply

Marsh Posté le 16-01-2003 à 10:02:38    

BreizhynGd a écrit :

Me revoilà après une semaine... et un peu de java
 
J'ai donc bien essayé de mettre un vector dans un vector. Le truc est que je ne connaissais pas le nombre de "cases" du premier vector. J'avais donc 2 vectors V1 et V2, tous les 2 des instances.
Je remplissais V2 que je mettais dans V1, puis j'efface V2, le reremplit et le remet dans V1. Ceci me donnait V1 avec les memes collections dans chaque "cases"
 
J'ai aussi essayé les hashmap, qui pour mes besoins compliquaient encore plus tous les traitements, et je retombais sur les memes problèmes qu'avant.
 
Au final, j'ai laissé tomber les tableaux multidimensionels dynamiques pour le moment... jusqu'au jour où...
 
Je vais qd meme essayer ta syntaxe greg...
 
Merci!


 
Alors si tu utilises toujours le "même" V2, forcément, toutes tes cases ont le même contenu. Il faut créer une nouvelle instance par case (V2 = new Vector() au lieu de V2.clear()).
 
Sinon, pour récupérer le nombre de cases, il y a V1.size().

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed