IT SOLUTIONS
Your full service technology partner! 
-Collapse +Expand
ASP Classic
Search ASP Classic Group:

Advanced
-Collapse +Expand ASP Classic Store

Prestwood eMagazine

March Edition
Subscribe now! It's Free!
Enter your email:

   ► KBWebsite Scri...ASP ClassicLanguage Det...   Print This     
  From the March 2016 Issue of Prestwood eMag
 
ASP Classic Language Details:
ASP Classic Associative Array (Scripting.Dictionary)
 
Posted 11 years ago on 12/27/2008 and updated 1/29/2009
ASP Classic Code Snippet:
 A flashcard from our ASP Classic Flashcards Library
 A code snippet from our ASP Classic Code Snippets Page

KB101512



General Info: Associative Array

A set of unique keys linked to a set of values. Each unique key is associated with a value. Think of it as a two column table. MyArray['CA'] = 'California' MyArray['AR'] = 'Arizona'

Languages Focus: Associative Array

Associative arrays are also known as a dictionary or a hash table in other languages.

ASP Classic Associative Array

Use the scriptiing dictionary object which is available on later versions of ASP Classic (all still commonly in use).

Note: Both Access VBA and VB Classic use a collection for this but collections are not supported in ASP Classic.

Syntax Example:
Dim StateList
 
set StateList = Server.CreateObject("Scripting.Dictionary")
StateList.Add "CA", "California"
StateList.Add "NV", "Nevada"
 
Response.Write "I live in " & StateList.Item("CA")

Looping Through An ASP Dictionary

Here's some code that adds a few items to a dictionary and then loops through them using a for each loop.

Dim StateList
Dim Key
  
set StateList = Server.CreateObject("Scripting.Dictionary")
 
StateList.Add "CA", "California"
StateList.Add "NV", "Nevada"
StateList.Add "FL", "Florida"
 
For Each Key in StateList
  Response.Write Key & " is " & StateList(Key) & "<br>"
Next

Here's one more example showing how to loop through Request.QueryString. Just to show you that you can.

Dim Key
 
For each Key in Request.QueryString
 Response.Write Key & "=" & Request.QueryString(Key)
Next

Exists and Remove

Use Exists to check if a key is in the associative array and Remove to delete it. It's a good idea to check if an element exists prior to deleting it. Here's how:

If StateList.Exists("FL") Then
    StateList.Remove("FL")
End If

If you fail to check if an element exists and it doesn't, you will get the following error:

Microsoft VBScript runtime  error '800a802b'
Element not found
/path/yourpage.asp, line 51

Sorting

No built-in sort function. However, Microsoft provided a good example of how to do this at http://support.microsoft.com/kb/246067.

More Info

Definition:  Associative Array
FAQ:  Associative Arrays in ASP Classic

Comments

0 Comments.
Share a thought or comment...
 
Write a Comment...
...
Sign in...

If you are a member, Sign In. Or, you can Create a Free account now.


Anonymous Post (text-only, no HTML):

Enter your name and security key.

Your Name:
Security key = P1226A1
Enter key:
Code Contributed By Mike Prestwood:

Mike Prestwood is a drummer, an author, and creator of the PrestwoodBoards online community. He is the President & CEO of Prestwood IT Solutions. Prestwood IT provides Coding, Website, and Computer Tech services. Mike has authored 6 computer books and over 1,200 articles. As a drummer, he maintains play-drums.com and has authored 3 drum books. If you have a project you wish to discuss with Mike, you can send him a private message through his PrestwoodBoards home page or call him 9AM to 4PM PST at 916-726-5675 x205.

Visit Profile

 KB Article #101512 Counter
45242
Since 12/27/2008
-
   Contact Us!
 
Have a question? Need our services? Contact us now.
--Mike Prestwood

Call: 916-726-5675

email: info@prestwood.com


Go ahead!   Use Us! Call: 916-726-5675 


©1995-2019 Prestwood IT Solutions.   [Security & Privacy]