Avatar billede bbe1379 Nybegynder
09. marts 2004 - 22:03 Der er 1 kommentar og
1 løsning

DB til Dictionary objekt

Jeg har siddet og tumlet længe med at få smidt resultatet af en SQL forespørgsel ned i et dictionary objekt. Men hver gang løber jeg ind i nogle mærkelig problemer.

Hvem gider at lave et hurtigt eksempel, hvor det enkelte objektnavn samt værdien defineres fra database resultatet

A'lá

Set dict = Server.CreateObject("Scripting.Dictionary")

.
.
.
Do while NOT RS.EOF
dict.Add RS("idx"),RS("Navn")
RS.Movenext
Loop
Avatar billede eagleeye Praktikant
09. marts 2004 - 22:25 #1
Du skal "bare" havde Cstr omkring, eller tror den tallet er et index og ikke en streng, der skal også Cstr omkring rs("navn") for det virker:

dict.Add CStr(rs("id")), CStr(rs("navn"))


Eks:

<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("db1.mdb")

SQL = "select * from tabelnavn"
Set rs = Conn.Execute(SQL)

Set dict = Server.CreateObject("Scripting.Dictionary")
do while not rs.EOF
  dict.Add CStr(rs("id")),CStr(rs("navn"))
  rs.Movenext
loop

Response.Write "Indehold:<br>"
for each item in dict.keys
  Response.write item & "=" & dict.item(item) & "<br>"
Next

Conn.Close
set Conn = Nothing
%>
Avatar billede bbe1379 Nybegynder
09. marts 2004 - 22:45 #2
JA! du har reddet min aften.
De problemer jeg havde var meget mystiske.
Selvom jeg f.eks. kaldte hvert objekt

"idx" & RS("idx")

...hvilket burde gøre Cstr overflødigt, overskrev den det hele tiden i stedet for at oprette et nyt. Derudover kunne jeg ikke få lov til at udskrive noget som helst fra objektet efter jeg havde lukket DB-forbindelsen....meget mærkeligt.

Men det lader til at det virker nu, så jeg er bare glad.

takker!!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester