Avatar billede znuggle.com Nybegynder
13. november 2003 - 16:56 Der er 8 kommentarer og
2 løsninger

Langsom database

Hej!

Jeg har lidt problemer med en kode, som skal hente nogle data ud fra en Access database. Min kode ser sådan ud:

<html>

<head>
<title>Sebastians Ønskeliste - Julen 2003</title>
<link href="styles.css" type="text/css" rel="stylesheet">
<script type="text/javascript" language="JavaScript">
<!--
function popup(url) { //v.2.0
  window.open(url,'','width=360, height=480, scrollbars=yes');
}
//-->
</script>
</head>

<body background="images/bg.jpg">
<p><b>Sebastians Ønskeliste - Julen 2003</b></p>

<table width="100%" cellpadding="0" cellspacing="0" style="border: 1px solid #D3A85C;">
  <tr>
    <td width="25%" style="border-bottom: 1px solid #D3A85C;"><b>Titel:</b></td>
    <td width="25%" style="border-bottom: 1px solid #D3A85C;"><b>Beskrivelse:</b></td>
    <td width="25%" style="border-bottom: 1px solid #D3A85C;"><b>Set hos:</b></td>
    <td width="25%" style="border-bottom: 1px solid #D3A85C;"><b>Pris:</b></td>
  </tr>
<%
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("db.mdb")
Conn.Open DSN

strSQL = "Select * from List"
Set rs = Conn.Execute(strSQL)

If rs.EOF Then
%>
  <tr>
    <td width="25%" onmouseover="this.bgColor='#5A5A79'" onmouseout="this.bgColor=''">---</td>
    <td width="25%" onmouseover="this.bgColor='#5A5A79'" onmouseout="this.bgColor=''">---</td>
    <td width="25%" onmouseover="this.bgColor='#5A5A79'" onmouseout="this.bgColor=''">---</td>
    <td width="25%" onmouseover="this.bgColor='#5A5A79'" onmouseout="this.bgColor=''">---</td>
  </tr>
<%
End If
Do While Not rs.EOF
%>
  <tr>
    <td width="25%" onmouseover="this.bgColor='#5A5A79'" onmouseout="this.bgColor=''"><%=rs("Title")%><% If Request.ServerVariables("HTTP_X_FORWARDED_FOR") = "80.163.84.218" Then %> (<a href="java script:popup('edit.asp?id=<%=rs("ID")%>')">ændr</a>/<a href="java script:popup('del.asp?id=<%=rs("ID")%>')">slet</a>)<% End If %></td>
    <td width="25%" onmouseover="this.bgColor='#5A5A79'" onmouseout="this.bgColor=''"><%=rs("Description")%></td>
    <td width="25%" onmouseover="this.bgColor='#5A5A79'" onmouseout="this.bgColor=''"><%=rs("Shop")%></td>
    <td width="25%" onmouseover="this.bgColor='#5A5A79'" onmouseout="this.bgColor=''"><%=rs("Price")%></td>
  </tr>
<%
Loop While Not rs.EOF

Conn.Close
Set Conn = Nothing
%>
</table>

<p><b>OBS!</b> Ønskerne er ikke listet efter en bestemt rækkefølge.</p>

<% If Request.ServerVariables("HTTP_X_FORWARDED_FOR") = "80.163.84.218" Then %>
<a href="java script:popup('add.asp')">Tilføj ønske</a>
<% End If %>
</body>

</html>

Problemet er, at den står og loader i lang tid, hvorefter den så timer out.

Hvad kan der være galt?
Avatar billede keysersoze Ekspert
13. november 2003 - 17:00 #1
du mangler en

rs.movenext

lige før linien

Loop While Not rs.EOF
Avatar billede dawin_dk Nybegynder
13. november 2003 - 17:00 #2
du mangler en movenext

lige inden Loop While Not rs.EOF skal du tilføje
rs.movenext
Avatar billede and_ Nybegynder
13. november 2003 - 17:01 #3
Prøv dette:

If rs.EOF Then
%>
  <tr>
    <td width="25%" onmouseover="this.bgColor='#5A5A79'" onmouseout="this.bgColor=''">---</td>
    <td width="25%" onmouseover="this.bgColor='#5A5A79'" onmouseout="this.bgColor=''">---</td>
    <td width="25%" onmouseover="this.bgColor='#5A5A79'" onmouseout="this.bgColor=''">---</td>
    <td width="25%" onmouseover="this.bgColor='#5A5A79'" onmouseout="this.bgColor=''">---</td>
  </tr>
<%
End If
While Not rs.EOF
%>
  <tr>
    <td width="25%" onmouseover="this.bgColor='#5A5A79'" onmouseout="this.bgColor=''"><%=rs("Title")%><% If Request.ServerVariables("HTTP_X_FORWARDED_FOR") = "80.163.84.218" Then %> (<a href="java script:popup('edit.asp?id=<%=rs("ID")%>')">ændr</a>/<a href="java script:popup('del.asp?id=<%=rs("ID")%>')">slet</a>)<% End If %></td>
    <td width="25%" onmouseover="this.bgColor='#5A5A79'" onmouseout="this.bgColor=''"><%=rs("Description")%></td>
    <td width="25%" onmouseover="this.bgColor='#5A5A79'" onmouseout="this.bgColor=''"><%=rs("Shop")%></td>
    <td width="25%" onmouseover="this.bgColor='#5A5A79'" onmouseout="this.bgColor=''"><%=rs("Price")%></td>
  </tr>
<%
rs.movenext
wend

Conn.Close
Set Conn = Nothing
%>
Avatar billede znuggle.com Nybegynder
13. november 2003 - 17:02 #4
Havde selv lige sat rs.MoveNext ind men _efter_ Loop - lidt nedern.

Men tak for hjælpen :)
Avatar billede and_ Nybegynder
13. november 2003 - 17:06 #5
Lidt unfair når man kommer med en rigtig løsning, men det styrer du jo selv - det ende jo bare med at der ikke er nogen der gider at hjælpe dig!!!!
Avatar billede znuggle.com Nybegynder
13. november 2003 - 17:20 #6
Jeg så først dit svar, da jeg havde accepteret - beklager!
Avatar billede and_ Nybegynder
13. november 2003 - 17:25 #7
jaja *hørt før ;)* - gider ikke bruge tid på dette
Avatar billede znuggle.com Nybegynder
13. november 2003 - 17:33 #8
Det er rigtigt. Jeg fik mail ang. svar på mit spm og gik derfor ind på eksperten.dk. Læste så svarene igennem, accepterede og skrev tak. I mellemtiden, havde du så lavet et indlæg.

Hvis du ikke gider at tage imod en undskyldning, så er det da dig, der får det svært i sidste ende...
Avatar billede keysersoze Ekspert
13. november 2003 - 20:48 #9
and_ >> jeg syntes faktisk ikke det er noget at være utilfreds over... jeg og dawin_dk kommer med den hurtigste og "rigtigste" løsning og så virker det. Dit svar er kun "prøv dette" og det er ikke sikkert det virker - samtidig er det jo reelt set en omskrivning af det oprindelige script, og det en omskrivning der slet ikke er nødvendig
Avatar billede znuggle.com Nybegynder
13. november 2003 - 21:01 #10
Tak for støtten!
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