Avatar billede mickill Nybegynder
08. december 2003 - 10:06 Der er 3 kommentarer og
1 løsning

Select fra database

Hejsa

Man vælger en værdi fra en dropdown menu.
Alt efter hvad der er valgt skal der i en tabel i access findes de CVID'er som har den valgte værdi.
Så skal alle ID'er som er lig med CVID'er findes i en anden tabel.

Jeg har prøvet således, men får kun udskrevet én person:

set rsSogning = server.createobject("adodb.recordset")
sql = "select CVID from T_Stillingsbetegnelse Where Stilling = '" & Request.Form("cvstilling") & "'"
rsSogning.open sql, Conn

set rsPerson = server.createobject("adodb.recordset")
do while not rsSogning.eof
sql = "select Fornavn, Efternavn From T_Person Where ID = " & rsSogning("CVID")
rsSogning.Movenext
loop
rsPerson.Open sql, Conn

Do While Not rsPerson.EOF
response.write rsPerson("Fornavn") & "<br>"
rsPerson.MoveNext
loop

Håber det jeg har skrevet er forståeligt

/Mickill
Avatar billede keysersoze Ekspert
08. december 2003 - 10:15 #1
først og fremmest - du behøver ikke at create-object hver gand du skal lave en sql.

dernæst så bliver der kun udskrevet en fordi du looper/udskriver forkert - du looper først HELE dit recordset igennem og udskriver så. Derfor vil kun den sidst fundne person blive udskrevet - så prøv noget a la dette i stedet;

set rsSogning = server.createobject("adodb.recordset")
sql = "select CVID from T_Stillingsbetegnelse Where Stilling = '" & Request.Form("cvstilling") & "'"
rsSogning.open sql, Conn

set rsPerson = server.createobject("adodb.recordset")
do while not rsSogning.eof
    sql = "select Fornavn, Efternavn From T_Person Where ID = " & rsSogning("CVID")
    rsPerson.Open sql, Conn
    Do While Not rsPerson.EOF
        response.write rsPerson("Fornavn") & "<br>"
    rsPerson.MoveNext
    loop
rsSogning.Movenext
loop
Avatar billede keysersoze Ekspert
08. december 2003 - 10:18 #2
desuden er der nok en del andre ting der kunne optimeres noget bedre. Foruden at det ikke er nødvendigt at create.object for hver sql, så burde du kunne nøjes med én sql; nemlig en SQL der joinede "T_Stillingsbetegnelse" med "T_Person" og dén sql kunne du så loope igennem - på den måde slipper du for en masse unødige opslag i databasen
Avatar billede mickill Nybegynder
11. december 2003 - 14:01 #3
Tak for kommentaren.

Jeg tror jeg prøver den med at JOINE de 2 tabeller.

Hvis du lægger et svar får du dine point.
Det første du skrev virker.
Avatar billede keysersoze Ekspert
11. december 2003 - 16:49 #4
svar
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