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 %>