Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

ralpharada

Scripting.Dictionary

Recommended Posts

Estou tendo um pequeno problema, no qual aparece a seguinte mensagem:

 

Microsoft VBScript runtime error '800a01c9'

This key is already associated with an element of this collection

 

Set dic=Server.CreateObject("Scripting.Dictionary")
Set rs = conexao.execute("select .......")
k=0
while not rs.eof
				passou=0
	for x=0 to dic.Count-1
		   if dic.Item("key"&x) = rs("plano") then	passou=1
	next
	if passou=0 then
		   dic.Add "key"&k,rs("plano")		   'linha onde aparece o erro
		   k=k+1
	end if
rs.movenext
wend

 

Alguem sabe como resolver?

Porque na verdade, eu precisaria só saber se tal valor existe na dictionary, caso não exista, então eu insiro um valor novo.

 

Obriado.

http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

O erro gerado no 800a01c9, sendo

Esta chave já está associado a um elemento desta coleção

 

Você pode obter este erro se você estiver usando Scripting.Dictionary e na tentativa de adicionar uma chave duplicada . Tente este código:

 

<% 
	 set dict = CreateObject ( "Scripting.Dictionary") 
	 dict.add "xan", "lika" 
	 dict.add "lika", "xan" 
  
	 '... 
  
	 dict.add "xan", "teste" 
%>

 

Então, tenha certeza que você não está adicionando chaves duplicadas. Se pretender substituir uma chave que já existe, você pode fazer:

 

se dict.Exists (key), em seguida, dict.Remove (key)	 dict.add chave, val

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.