Uno de los objetos disponibles de la biblioteca de recursos de ASP es el diccionario que permite almacenar información mediante la técnica de clave-valor.
En el objeto diccionario puede definir claves como si se tratase de índices de un vector. El contenido de cada posición del supuesto vector será el valor que podremos consultar y actualizar cuando precisemos.
Para crear el objeto diccionario se utiliza la siguiente instrucción
set objDict = createObject("Scripting.Dictionary")
Métodos
A continuación se detallan los Métodos del diccionario
Añadir una clave / valor en el diccionario
objDict.Add strClave, strValor
recuperar las clave
strClavesArray = objDict.Keys
recuperar los valores
strValoresArray = objDict.Items
Comprobar si existe una clave
objDict.Exists(strClave)
Eliminar una clave del diccionario
objDict.Remove(strClave)
Eliminar todos los elementos del diccionario
objDict.RemoveAll()
Propiedades
A continuación se detallan las Propiedades del diccionario
Número de elementos del objeto diccionario
objDict.Count
Recuperar el valor de una clave
strValor = objDict.Item(strClave)
Cambiar una clave
objDict.Key(strClave) = strClaveNueva
Ejemplo
Pongamos en práctica algunas de estas propiedades mediante el siguiente ejemplo
<%
set objConn = Server.CreateObject("ADODB.Connection")
objConn.open "DSN=wapbolsa"
strSQL = "SELECT * FROM valor"
set objRS = objConn.Execute(strSQL)
' crear el objeto diccionario y añadir los valores de la BD
set objDict = createObject("Scripting.Dictionary")
do while not objRS.eof
strclave = objRS("idValor")
strvalor = objRS("Importe")
objDict.Add strclave, strvalor
objRS.movenext
loop
objRS.Close
set objRS = nothing
objConn.Close
set objConn = nothing
' operaciones sobre el objeto diccionario
strClavesArray = objDict.Keys
strValoresArray = objDict.Items
for i = 0 to objDict.Count -1
response.write(strClavesArray(i) & ": " & strValoresArray(i) & "<br>")
next
if objDict.Exists("TELE") then
response.write ("Existe Tele con el valor: " & objDict.Item("TELE"))
else
response.write ("No existe Tele")
end if
%>