Bonjour tout le monde,
Je vous expose d'abord mon problème.
Je lis des BDD oracle que je voudrais récupérer dans une structure <Key,Value> (avec de préférence une indexation sur la clé).
Pour un même NUMDOSSIE donnée on peut avoir plusieurs enregistrements.
Donc je veux avoir un genre de Structur<int,ArrayList>.
Pour le moment c'est un abstrait.
Pour ce faire, j'ai choisi d'utiliser un HashTable.
Voici le code que j'ai déjà :
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 Hashtable res = new Hashtable(); OracleDataReader dr = _myconnection.Execute( "SELECT * FROM ...."); while (dr.Read()) { // si la clé n'existe pas on fait un add sur notre Hashtable type <int, Arraylist> if(!res.ContainsKey(Int32.Parse(dr["NUMDOSSIE"].ToString()))) { res.Add(Int32.Parse(dr["NUMDOSSIE"].ToString()), new ArrayList().Add(new Objet_Enregistement(dr))); } else { // Comment récupérer l'arrayList pour faire un ADD dessus ? } }
Donc j'ai deux questions :
Es-ce qu'un HashTable est le meilleur choix possible ?
Si oui, comment faire une espère de "get value from Key=NUMDOSSIE"
pour faire un add sur mon arraylist si la clé existe déjà ?
Merci d'avance pour votre aide.
Partager