Chris_LaFouine
Messages postés109Date d'inscriptionmardi 13 avril 2004StatutMembreDernière intervention 4 juin 2008
-
11 mars 2005 à 09:29
Chris_LaFouine
Messages postés109Date d'inscriptionmardi 13 avril 2004StatutMembreDernière intervention 4 juin 2008
-
11 mars 2005 à 16:05
J'ai un problème concernant l'objet Dictionary... voilà mon code...
set dictListeParam= Server .CreateObject("Scripting.Dictionary")
While NOT rsInfoIndexUtil.EOF
Response.Write(rsInfoIndexUtil(0)&"-"&rsInfoIndexUtil(1)&"
")
dictListeParam.Add rsInfoIndexUtil(0),rsInfoIndexUtil(1)
rsInfoIndexUtil.moveNext
Wend
Mon rsInfoIndexUtil contient le résultat une requete "SELECT" qui renvoie 2 champs
Maintenant, dès que je le lance dans mon navigateur voilà ce qu'il me met :
<!--StartFragment -->ajoutseance-Ajout d'une activité à un enfant
annulinscription-Annulation d'un enfant à une activité
Erreur d'exécution Microsoft VBScript error '800a01c9'
Cette clé est déjà associée à un élément de cette collection.
/GIMS/concept_indexutil.asp, line 15
Ma requete fonctionne bien pourtant l'ajout foire à mort!
Pourtant, dès que j'essaye ceci :
set dictListeParam =Server.CreateObject("Scripting.Dictionary")
While NOT rsInfoIndexUtil.EOF
Response.Write(rsInfoIndexUtil(0)&"-"&rsInfoIndexUtil(1)&"
")
dictListeParam.Add rsInfoIndexUtil(0),rsInfoIndexUtil(1)
dictListeParam.RemoveAll
rsInfoIndexUtil.moveNext
Wend
Voilà ce que ça me donne :
<!--StartFragment -->
ajoutseance-Ajout d'une activité à un enfant
annulinscription-Annulation d'un enfant à une activité
inscription-Inscription d'un enfant
modifpersonne-Modifier les données d'un enfant
titrepage-Inscription à la Semaine de la Détente
titretableau-Gestion des Enfants
Et juste après ma page s'affiche correctement!
C'est super bizarre! d'autant plus que je ne comprends vraiment pas pourquoi il ne veut pas ajouter la clé (qui est dékà existante selon lui)!!!
Chris_LaFouine
Messages postés109Date d'inscriptionmardi 13 avril 2004StatutMembreDernière intervention 4 juin 2008 11 mars 2005 à 09:49
Ça y est je me suis autorépondu...
Dans un premier temps je me suis dit que la clé de "annulinscription" était trop longue, alors, je me suis fait un compteur que j'ai nommé "i" et j'ai mis les clés suivantes :
"coilludepoildejackpoulettedechiendepecheempaillé"&i
et finalement l'ajout fonctionnait, donc ça venait pas de la taille...
C'est alors que j'ai trouvé la solution, voila comment il a fallu faire :
set dictListeParam=Server.CreateObject("Scripting.Dictionary")
While NOT rsInfoIndexUtil.EOF
dictListeParam.Add cStr(rsInfoIndexUtil(0)),cStr(rsInfoIndexUtil(1) )
rsInfoIndexUtil.moveNext
Wend
Logique nan Et oui, j'ai dû convertir une chaine de caractère en chaine de caractère! ça c'est méga logique! C'est normal, moi j'ajoutais une chaine de caractère et ça fonctionnait pas, alors qu'en fait c'est une chaine de caractère qu'il attend...
Bref, si vous avez des problèmes dans ce style, essayez des trucs cons, ça fonctionne des fois!
jesusonline
Messages postés6814Date d'inscriptiondimanche 15 décembre 2002StatutMembreDernière intervention13 octobre 201029 11 mars 2005 à 15:41
je connais pas vbscript, mais
cStr(rsInfoIndexUtil(0))
Pour
moi, ca met en string l'element 0 de l'array rsinfo... apres je sais
pas comment celui ci est déclaré, mais il faut que rsinfo... soit
déclaré en tant qu'array de string, et non pas comme simple array
(d'object)
mais le principal c'est que tu ai trouvé une résolution ;)