Matching array index to values retrieved from database

J

John Wilson

Hello friends,

I have this dynamic array(shown below) that I need to match to values
(1 - 10) that I am returning from the database via DSN connection
object. The values I need to match are on the same page (in their own
table) but I am not sure how to match up the array indexes to these
values. I want to be able to display the array result as part of or
nested in another table.

Thanks in advance,
John Wilson
Programmer/Analyst

<td valign="top">
<h3>Dynamic Array</h3>
<%
' Now on to our dynamic array. Before I can use a dynamic array
' I need to tell it how many elements I want to be able to put
' into it. The ReDim command allows us to redimension an array
' to whatever size we need. I'm setting it to 2 elements so I
' use an upper bound of 1.

ReDim arrResponses(9)

arrResponses(0) = "Q1"
arrResponses(1) = "Q2"
arrResponses(2) = "Q3"
arrResponses(3) = "Q4"
arrResponses(4) = "Q5"
arrResponses(5) = "Q6"
arrResponses(6) = "Q7"
arrResponses(7) = "Q8"
arrResponses(8) = "Q9"
arrResponses(9) = "Q10"

' Show what our array currently contains:
ShowArrayInTable(arrResponses)

ReDim Preserve arrResponses(15)

' Adding another value:
arrResponses(10) = "Q11"
arrResponses(11) = "Q12"
arrResponses(12) = "Q13"
arrResponses(13) = "Q14"
arrResponses(14) = "Q15"
arrResponses(15) = "Q16"

' Once again show what our array currently contains:
ShowArrayInTable(arrResponses)
%>
</td>
 
R

Ray at

From you code, I don't fully understand what you're trying to do. I don't
see any recordsets or anything. But, are you saying you want to be able to
pull out values from an array on demand by calling them by their ID from a
recordset? If so, you could use a dictionary object if you don't want to
keep
a recordset open throughout your page. You could do:

Dim objDict
Set objDict = Server.CreateObject("Scripting.Dictionary")
Set rs = YourConnection.Execute("select UniqueID, OtherColumn from yourTable
where Whatever='whatever'")
Do While Not rs.EOF
objDict.Add rs.Fields(0).Value, rs.Fields(1).Value
rs.MoveNext
Loop
rs.Close
Set rs = nothing
YourConnection.CLose
Set YourConnection = Nothing


Then, if you want to go grab item with ID number 5 at any time, you'd do:

response.write objDict.Item(5)


- Your key values (the first argument in the .Add method) have to be
unique, but if you're using your PK, that'll be fine.
- Don't forget to destroy your dictionary object when you're all finished
with it.\

If I didn't understand what you meant and this makes no sense, sorry.

Ray at home
 
J

John Wilson

Hello Ray,

Thanks for the quick response. Your example might be exactly what I need
and I will try it. What I need to do is populate the array from one
database table, the values of which I alrady have on my asp page in an
html table, and match the indexes/keys of that array to an id_field
value in another html table which is being populated from the values of
another (db)table. In other words, I have two calls/queries(stored
procs) going to the database, and once I have the data on the page,
which I do, then I want to use memory objects (arrays) to make up the
relationship between the array and the other resultset because, I only
need to perform an insert/update on one of the tables (the one
populating the array), but the data is in one row (responses 1-10), but
the other table has rows(questions) that have to be returned for each
question in that one row. Hope this wasn't too confusing. If you're
interested I would be happy to send you whatever you need to take a
better look.

TIA,
John Wilson
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,755
Messages
2,569,536
Members
45,009
Latest member
GidgetGamb

Latest Threads

Top