I.T. Discussion Community!
-Collapse +Expand
ASP Classic
Search ASP Classic Group:

Advanced
-Collapse +Expand ASP Classic Store

Prestwood eMagazine

February 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 = P1193A1
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
44985
Since 12/27/2008
-
   Contact Us!
 
PrestwoodBoards.com was developed and is maintainted by me. Do you have a question or suggestion? Do you see a problem? Contact me now. My goal is to build an ad-free and spam-free source of I.T. information with many contributers (ok to promote your website/company in your bio). Yes, my company Prestwood IT Solutions is mentioned in my bio which shows with every post, but you can contribute and promote your pet project too!

2,449 People Online Now!!  
Sign In to see who's online now!  Not a member? Join now. It's free!
Show more stats...


©1995-2019 PrestwoodBoards  [Security & Privacy]
Professional IT Services: Coding | Websites | Computer Tech