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.