Avatar billede ste Nybegynder
24. august 2004 - 08:47 Der er 10 kommentarer og
1 løsning

Er det en rigtig database forespørgsel.

Hej eksperter. Jeg har fået konstrueret følgende database forespørgsel, men tror egentlig ikke den er rigtig. Jeg tænker på om det er rigtigt at jeg oprette forbindelsen til databasen to gange. Jeg kan ikke få det til at virke på anden måde. Grunden til jeg spørger er at jeg skal have 2 yderligere under forspørgsler sat ind i hver forespørgsel, og nu synes jeg det bliver lige lovlig abstrakt. Jeg bringer her min kode.
<select size="1" name="HLedelsesansvar" style="font-size: 8 pt" tabindex="1">
        <option value="<%=HLedelsesansvar%>"><%=HLedelsesansvarNavn%></option>
        <%

Set subrs = Server.CreateObject("ADODB.RecordSet")
substrSQL = "Select Navn, Initialer from qryMedarbejder where LokId="&request("LokId")&" AND Leder=1 AND EjAnsat =0"
substrDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("../../fpdb/Miljodatabase.mdb")
subrs.Open substrSQL, substrDSN, 1

        Do while not subrs.eof
        Navn = subrs("Navn")
        Initialer = subrs("Initialer")
%>

        <option value="<%=Initialer%>"><%=Navn%></option>
<%

subrs.movenext
loop
subrs.close
%>


        </select></td>
        <td width="20%" colspan="2"><select size="1" name="HAnsvar"  style="font-size: 8 pt" tabindex="2">
      <option value="<%=HAnsvar%>"><%=HAnsvarNavn%></option>
<%

Set subars = Server.CreateObject("ADODB.RecordSet")
substrSQL = "Select Navn, Initialer from qryMedarbejder where LokId="&request("LokId")&" AND EjAnsat =0"
subastrDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("../../fpdb/Miljodatabase.mdb")
subars.Open substrSQL, substrDSN, 1

        Do while not subars.eof
        Navn = subars("Navn")
        Initialer = subars("Initialer")
%>

        <option value="<%=Initialer%>"><%=Navn%></option>
<%

subars.movenext
loop
subars.close
%>
</select>
Avatar billede fennec Nybegynder
24. august 2004 - 08:51 #1
når du lukker forbindelsen til databasen ("subrs.close") bliver du nød til at oprette den igen. Hvis du fjerner den linje (ikke den sidste da du jo skal lukke forbindelsen her) er det ikke nødvendig at åbne forbindelsen igen :o)
Avatar billede ste Nybegynder
24. august 2004 - 08:54 #2
Det har jeg prøvet men det løser ikke problemet, så henter den ikke resultaterne til den sidste dropdown, og jeg kan se denne melding i "Vis Kilde" Object required: ''
Avatar billede erikjacobsen Ekspert
24. august 2004 - 09:02 #3
Du skal gøre som du gør nu, eller oprette en connection een gang (ADODB.Connection)
Avatar billede fennec Nybegynder
24. august 2004 - 09:03 #4
AAhhhh. Du bruger RecordSet metoden. Den bruger jeg aldrig.

subastrDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("../../fpdb/Miljodatabase.mdb")
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open subastrDSN

set rs = Conn.Execute("en SQL-sætning")
set rs1 = Conn.Execute("en anden SQL-sætning")
set rs = Conn.Execute("en trejde SQL-sætning")

Conn.Close
set Conn = nothing
Avatar billede ste Nybegynder
24. august 2004 - 09:04 #5
Jeg er ved at prøve med den her.
Set Conn = Server.CreateObject("ADODB.Connection")
strDSN = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("../../fpdb/Miljodatabase.mdb")
Set Rs = Server.CreateObject("ADODB.Recordset")
strSQL = "SELECT Navn, Initialer  FROM qryMedarbejder"
rs.Open strSQL, connMen jeg tror den sidste linie gør knuder. Hvad er der galt.
Avatar billede fennec Nybegynder
24. august 2004 - 09:10 #6
Det skal bare være som jeg skrev. Så virker det....
Du behøver ikke oprette et ADODB.Recordset når du bruger ADODB.Connection.

subastrDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("../../fpdb/Miljodatabase.mdb")
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open subastrDSN

strSQL = "SELECT Navn, Initialer  FROM qryMedarbejder"
set rs = Conn.Execute(strSQL)
do while not rs.eof
  ... udskriv data
  rs.MoveNext
loop

Conn.Close
set Conn = nothing
Avatar billede ste Nybegynder
24. august 2004 - 09:10 #7
Det er fordi jeg har et paging system der fungere som update af en database. Derfor har jeg behov for at kunne vælge i dropdown meneuen.
Jeg bruger normalt heller ikke recordset og er nu på rigtig tynd is.
Avatar billede fennec Nybegynder
24. august 2004 - 09:18 #8
Hvis du skal bruge paging, skal du bruge ADODB.Recordset. Der er jeg også på tynd is, så jeg kan ikke hjælpe dig så meget :o)
Avatar billede ste Nybegynder
24. august 2004 - 09:19 #9
Jeg jeg sidder lige og roder og får fejlmelding med dit forslag, men jeg prøver og kommer tilbage hvis jeg får en løsning.
Avatar billede ste Nybegynder
24. august 2004 - 09:22 #10
Det er sådan at de 2 forespørgsler ligger inden i en anden forespørgsel.
Avatar billede ste Nybegynder
14. december 2004 - 06:16 #11
Jeg lukker her.
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