Avatar billede riishoj Nybegynder
26. august 2004 - 08:38 Der er 2 kommentarer og
1 løsning

For mange databaseopkald på en side?

Jeg har en side, som åbner og lukker en db temmelig mange gange. Ved ikke rigtigt om det er ok at gøre det sådan. Hvis ikke hvordan kunne jeg evt gøre det anderledes?
Jeg spørger fordi jeg har problemer med at få sessionen til at virker ordentligt på siden, når den skal åbnes med brugernavn og password. Somme tider går det ok, andre gange skal jeg prøve en 3-4 gange, og sommetider hjælper det at slette mine cookies. Er der en sammenhæng?

Hele scriptet ser sådan ud:

<% Session.LCID = 1030 %>
<%
Response.ExpiresAbsolute = Now() - 1
Response.Expires = 0
Response.CacheControl = "no-cache"
%>

<% 'hvis session("userID") er tom så er man ikke logget ind.
if session("userID") = "" then
  Response.Redirect"hovedlogin/loginform.asp"
Else
end if

%>

<html>

<head>
<meta http-equiv="Content-Language" content="da">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<title>SkoleWeb</title>
<LINK REL="StyleSheet"
HREF="style.css"
TYPE="text/css">
<SCRIPT SRC='menu.js'></SCRIPT>

</head>

<body topmargin="0" leftmargin="0" marginwidth="0" marginheight="0" style="margin: 0" onLoad="writeMenus()" onResize="if (isNS4) nsResizeHandler()" link="#98C4B8" vlink="#98C4B8" >

<table width='100%' cellpadding='0' cellspacing='0'>
<tr>
<td width='50%' bgcolor='#98C4B8'><img src='images/banner.jpg' width="398" height="45"></td>
<td width='50%' bgcolor='#98C4B8' align='center'><font face='verdana' size='4'><% Response.write WeekdayName(DatePart("W", Date, 1))%>&nbsp;<% Response.Write "den " & FormatDateTime(Now, vbLongDate)%></font></td>
</tr>
</table>



<table border="0" width="100%" cellspacing="0">
  <tr>
    <td width="100%" background="images/sortstreg3.gif">&nbsp;</td>
  </tr>
</table>
<table border="0" width="100%" cellspacing="0">
  <tr>
    <td width="20%" bgcolor="#98C4B8">
      <p align="center">&nbsp;</td>
    <td width="20%" bgcolor="#98C4B8">
      <p align="center">&nbsp;</td>
    <td width="20%" bgcolor="#98C4B8">
      <p align="center">&nbsp;</td>
    <td width="20%" bgcolor="#98C4B8">&nbsp;</td>
    <td width="20%" bgcolor="#98C4B8">&nbsp;</td>
  </tr>
</table>
<table border="0" width="100%">
  <tr>
    <td width="2%"></td>
    <td width="96%" background="images/sortstreg1.gif">&nbsp;</td>
    <td width="2%"></td>
  </tr>
</table>


  <table border="0" width="100%" height="346">
  <tr>
    <td width="30%" valign="top" align="right" height="342">
      <table border="0" width="95%" cellpadding="3">
        <tr>
          <td width="100%" height="30" background="images/bjaelke.gif">
            <p align="center"><font face="Verdana" size="1"><b>Meddelelser fra
            kontoret</b></font></td>
        </tr>   
    <%   
       
        ConnString = "DSN=dsn"
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open ConnString
   
        strSQL = "SELECT tekst, startdato FROM meddelelse WHERE startdato <= Date()AND slutdato >= Date()AND meddeler='kontor'"

set rs = Conn.Execute(strSQL)


if rs.EOF then

Response.write"<td  width=100%  bgcolor=#E0F0E8><font face=Verdana size=1 color=#000000><p align=left>Ingen meddelelser</font></td>" 
end if
intCount = 0
  Do while NOT (rs.EOF or rs.BOF)
  if (intCount MOD 2 = 0) then
    bgColor = "#cccccc" 'Første farve
    color="#000000"
  else
    bgColor = "#999999" 'Anden farve
    color="#FFFFFF"
 
  end if
  intCount = intCount + 1
 
    Response.write"<tr><td width='100%' bgcolor='" & bgColor & "'><font face=Verdana size=1 color='" & color & "'><p align=left>"&rs("startdato")&":<br>"&rs("tekst")&"</font></td>"
 
rs.MoveNext
    Loop       
Response.write"</tr>"   

        Conn.Close
    Set Conn = Nothing
%>   
       

        <tr>
          <td width="100%" background="images/sortstreg1.gif">&nbsp;</td>
        </tr>
        <tr>
          <td width="100%" height="30" background="images/bjaelke.gif">
            <p align="center"><font face="Verdana" size="1"><font face="Verdana" size="1"><b>Meddelelser fra pædagogisk servicecenter</b></font></td>
        </tr>
      <%   
       
        ConnString = "DSN=dsn"
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open ConnString
   
   
        strSQL = "SELECT tekst, startdato FROM meddelelse WHERE startdato <= Date()AND slutdato >= Date()AND meddeler='bibliotek'"

set rs = Conn.Execute(strSQL)

if rs.EOF then

Response.write"<td  width=100%  bgcolor=#E0F0E8><font face=Verdana size=1 color=#000000><p align=left>Ingen meddelelser</font></td>" 
end if
intCount = 0
  Do while NOT (rs.EOF or rs.BOF)
  if (intCount MOD 2 = 0) then
    bgColor = "#cccccc" 'Første farve
    color="#000000"
  else
    bgColor = "#999999" 'Anden farve
    color="#FFFFFF"
 
  end if
  intCount = intCount + 1
 
    Response.write"<tr><td width='100%' bgcolor='" & bgColor & "'><font face=Verdana size=1 color='" & color & "'><p align=left>"&rs("startdato")&":<br>"&rs("tekst")&"</font></td>"
 
rs.MoveNext
    Loop       
Response.write"</tr>"   

        Conn.Close
    Set Conn = Nothing
%>   
        <tr>
          <td width="100%" background="images/sortstreg1.gif">&nbsp;</td>
        </tr>
        <tr>
          <td width="100%" height="30" background="images/bjaelke.gif">
            <p align="center"><font face="Verdana" size="1"><b>Meddelelser fra </b></font><font face="Verdana" size="1"><b>datavejleder</b></font></td>
        </tr>
        <%   
       
      ConnString = "DSN=dsn"
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open ConnString
   
   
        strSQL = "SELECT tekst, startdato FROM meddelelse WHERE startdato <= Date()AND slutdato >= Date()AND meddeler='datavejleder'"

set rs = Conn.Execute(strSQL)

if rs.EOF then

Response.write"<td  width=100%  bgcolor=#E0F0E8><font face=Verdana size=1 color=#000000><p align=left>Ingen meddelelser</font></td>" 
end if
intCount = 0
  Do while NOT (rs.EOF or rs.BOF)
  if (intCount MOD 2 = 0) then
    bgColor = "#cccccc" 'Første farve
    color="#000000"
  else
    bgColor = "#999999" 'Anden farve
    color="#FFFFFF"
 
  end if
  intCount = intCount + 1
 
    Response.write"<tr><td width='100%' bgcolor='" & bgColor & "'><font face=Verdana size=1 color='" & color & "'><p align=left>"&rs("startdato")&":<br>"&rs("tekst")&"</font></td>"
 
rs.MoveNext
    Loop       
Response.write"</tr>"   

        Conn.Close
    Set Conn = Nothing
%> 
        <tr>
          <td width="100%" height="30" background="images/sortstreg1.gif">
            &nbsp;</td>
        </tr>
      </table>
    </td>
    <td width="3%" background="images/sortstreg1_lodret.gif" height="342">
      <p align="center">&nbsp;
      <p align="center">&nbsp;</td>
    <td width="30%" valign="top" height="342">
      <table border="0" width="105%" height="274">
        <tr>
          <td width="100%" height="30" background="images/bjaelke.gif" colspan="2">
            <p align="center"><font face="Verdana" size="1"><b>Reservationer</b></font></td>
        </tr>
        <tr>
          <td width="50%" bgcolor="#E0F0E8" height="24">
            <p align="center"><font face="Verdana" size="1"><b>Lokaler</b></font></td>
          <td width="50%" bgcolor="#E0F0E8" height="24">
            <p align="center"><font face="Verdana" size="1"><b>AV-udstyr</b></font></td>
        </tr>
        <tr>
          <td width="50%" bgcolor="#F0F8F8" height="24" align="left" style='padding-left: 3px;'>
            <p align="left"><font face="Verdana" size="1"><a class="speciel3" href="edb/edb.asp">EDB</a></font></td>
          <td width="50%" bgcolor="#F0F8F8" height="24" style='padding-left: 3px'>
            <p align="left"><font face="Verdana" size="1"><a class="speciel3" href="videoblok3/video3.asp">Video
            blok 3</a></font></p>
          </td>
        </tr>
        <tr>
          <td width="50%" bgcolor="#F0F8F8" height="24" align="left" style='padding-left: 3px;'>
            <p align="left"><font face="Verdana" size="1"><a class="speciel3" href="billedkunst/billedkunst.asp">Billedkunst</a></font></td>
          <td width="50%" bgcolor="#F0F8F8" height="24" style='padding-left: 3px'>
            <p align="left"><font face="Verdana" size="1"><a class="speciel3" href="videoblok6/video6.asp">Video
            blok 6</a></font></p>
          </td>
        </tr>
        <tr>
          <td width="50%" bgcolor="#F0F8F8" height="24" align="left" style='padding-left: 3px;'>
            <p align="left"><font face="Verdana" size="1"><a class="speciel3" href="biologi/biologi.asp">Biologi</a></font></td>
          <td width="50%" bgcolor="#F0F8F8" height="24" style='padding-left: 3px'>
            <p align="left"><font face="Verdana" size="1"><a class="speciel3" href="videoblok7/video7.asp">Video
            blok 7</a></font></p>
          </td>
        </tr>
        <tr>
          <td width="50%" bgcolor="#F0F8F8" height="24" align="left" style='padding-left: 3px;'>
            <p align="left"><font face="Verdana" size="1"><a class="speciel3" class="speciel3" href="fysik/fysik.asp">Fysik</a></font></td>
          <td width="50%" bgcolor="#F0F8F8" height="24" style='padding-left: 3px'><font face="Verdana" size="1"><a class="speciel3" href="videoblok9/video9.asp">Video
            blok 9</a></font></td>
        </tr>
        <tr>
          <td width="50%" bgcolor="#F0F8F8" height="24" align="left" style='padding-left: 3px;'>
            <p align="left"><font face="Verdana" size="1"><a class="speciel3" href="gymnastiksal/gymnastiksal.asp">Gymnastiksal</a></font></td>
          <td width="50%" bgcolor="#F0F8F8" height="24" style='padding-left: 3px'><font face="Verdana" size="1"><a class="speciel3" href="digitalcamera/digcam.asp">Digitalkamera</a></font></td>
        </tr>
        <tr>
          <td width="50%" bgcolor="#F0F8F8" height="25" align="left" style='padding-left: 3x;'>
            <p align="left"><font face="Verdana" size="1"><a class="speciel3" href="hal/hal.asp">Hal</a></font></td>
          <td width="50%" bgcolor="#F0F8F8" height="25" style='padding-left: 3px'>&nbsp;</td>
        </tr>
        <tr>
          <td width="50%" bgcolor="#F0F8F8" height="25" align="left" style='padding-left: 3px;'>
            <p align="left"><font face="Verdana" size="1"><a class="speciel3" href="hjemkundskab/hjemkundskab.asp">Hjemkundskab</a></font></td>
          <td width="50%" bgcolor="#F0F8F8" height="25" style='padding-left: 3px'>&nbsp;</td>
        </tr>
        <tr>
          <td width="50%" bgcolor="#F0F8F8" height="25" align="left" style='padding-left: 3px;'>
            <p align="left"><font face="Verdana" size="1"><a class="speciel3" href="haandgerning/haandgerning.asp">Håndarbejde</a></font></td>
          <td width="50%" bgcolor="#F0F8F8" height="25" style='padding-left: 3px'>&nbsp;</td>
        </tr>
        <tr>
          <td width="50%" bgcolor="#F0F8F8" height="25" align="left" style='padding-left: 3px;'>
            <p align="left"><font face="Verdana" size="1"><a class="speciel3" href="musik/musik.asp">Musik</a></font></td>
          <td width="50%" bgcolor="#F0F8F8" height="25" >&nbsp;</td>
        </tr>
        <tr>
          <td width="50%" bgcolor="#F0F8F8" height="25" align="left" style='padding-left: 3px;'>
            <font face="Verdana" size="1"><a class="speciel3" href="sloejd/sloejd.asp">Sløjd</a></font></td>
          <td width="50%" bgcolor="#F0F8F8" height="25" >&nbsp;</td>
        </tr>
        <tr>
          <td width="50%" bgcolor="#F0F8F8" height="25" align="left" style='padding-left: 3px;'>
            <font face="Verdana" size="1"><a class="speciel3" href="laerervaerelse/laerervaerelse.asp">Personalerum</a></font></td>
          <td width="50%" bgcolor="#F0F8F8" height="25" >&nbsp;</td>
        </tr>
        <tr>
          <td width="50%" bgcolor="#F0F8F8" height="25" align="left" style='padding-left: 3px;'>
            <font face="Verdana" size="1"><a class="speciel3" href="moedelokaler/moedelokaler.asp">Mødelokaler</a></font></td>
          <td width="50%" bgcolor="#F0F8F8" height="25" >&nbsp;</td>
        </tr>
        <tr>
          <td width="100%" bgcolor="#FFFFFF" align="left"  colspan="2" background="images/sortstreg1.gif">
            &nbsp;</td>
        </tr>
        <tr>
          <td width="100%" height="25" align="left"  colspan="2" background="images/bjaelke.gif">
            <p align="center"><font face="Verdana" size="1"><b>Vikarskema</b></font></td>
        </tr>
        <tr>
          <td width="100%" bgcolor="#F0F8F8" height="25" align="left"  colspan="2">
            <p align="center"><font face="Verdana" size="1"><a class="speciel3" href="dagsoversigt.htm">Dagsoversigt</a></font></td>
        </tr>
        <tr>
          <td width="100%" bgcolor="#F0F8F8" height="25" align="left"  colspan="2">
            <p align="center"><font face="Verdana" size="1"><a class="speciel3" href="ugeoversigt.htm">Ugeoversigt</a></font></td>
        </tr>
        <tr>
          <td width="100%" bgcolor="#FFFFFF" height="25" align="left"  colspan="2" background="images/sortstreg1.gif">
            &nbsp;</td>
        </tr>
      </table>
    </td>
    <td width="3%" background="images/sortstreg1_lodret.gif" height="342">
      <p align="center">&nbsp;</td>
    <td width="30%" valign="top" height="342">
      <table border="0" width="95%" cellpadding="3">
        <tr>
          <td width="100%" height="30" background="images/bjaelke.gif">
            <p align="center"><font face="Verdana" size="1"><b>Meddelelser fra </b></font><font face="Verdana" size="1"><b>teknisk serviceleder</b></font></td>
        </tr>
        <%   
       
        ConnString = "DSN=dsn"
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open ConnString
   
   
        strSQL = "SELECT tekst, startdato FROM meddelelse WHERE startdato <= Date()AND slutdato >= Date()AND meddeler='pedel'"

set rs = Conn.Execute(strSQL)

if rs.EOF then

Response.write"<td  width=100%  bgcolor=#E0F0E8><font face=Verdana size=1 color=#000000><p align=left>Ingen meddelelser</font></td>" 
end if
intCount = 0
  Do while NOT (rs.EOF or rs.BOF)
  if (intCount MOD 2 = 0) then
    bgColor = "#cccccc" 'Første farve
    color="#000000"
  else
    bgColor = "#999999" 'Anden farve
    color="#FFFFFF"
 
  end if
  intCount = intCount + 1
 
    Response.write"<tr><td width='100%' bgcolor='" & bgColor & "'><font face=Verdana size=1 color='" & color & "'><p align=left>"&rs("startdato")&":<br>"&rs("tekst")&"</font></td>"
 
rs.MoveNext
    Loop       
Response.write"</tr>"   

        Conn.Close
    Set Conn = Nothing
%>   
        <tr>
          <td width="100%" background="images/sortstreg1.gif">&nbsp;</td>
        </tr>
        <tr>
          <td width="100%" height="30" background="images/bjaelke.gif">
            <p align="center"><font face="Verdana" size="1"><b>Meddelelser fra </b></font><font face="Verdana" size="1"><b>skolevejleder</b></font></td>
        </tr>
        <%   
       
      ConnString = "DSN=dsn"
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open ConnString
   
   
        strSQL = "SELECT tekst, startdato FROM meddelelse WHERE startdato <= Date()AND slutdato >= Date()AND meddeler='skolevejleder'"

set rs = Conn.Execute(strSQL)

if rs.EOF then

Response.write"<td  width=100%  bgcolor=#E0F0E8><font face=Verdana size=1 color=#000000><p align=left>Ingen meddelelser</font></td>" 
end if
intCount = 0
  Do while NOT (rs.EOF or rs.BOF)
  if (intCount MOD 2 = 0) then
    bgColor = "#cccccc" 'Første farve
    color="#000000"
  else
    bgColor = "#999999" 'Anden farve
    color="#FFFFFF"
 
  end if
  intCount = intCount + 1
 
    Response.write"<tr><td width='100%' bgcolor='" & bgColor & "'><font face=Verdana size=1 color='" & color & "'><p align=left>"&rs("startdato")&":<br>"&rs("tekst")&"</font></td>"
 
rs.MoveNext
    Loop       
Response.write"</tr>"   
        Conn.Close
    Set Conn = Nothing


%>   
        <tr>
          <td width="100%" background="images/sortstreg1.gif">&nbsp;</td>
        </tr>
        <tr>
          <td width="100%"></td>
        </tr>
      </table>
    </td>
  </tr>
</table>

   
      <p align="center"><font face="Verdana" size="1">©2004</font></td>
 
</body>
</html>
Avatar billede locturian Nybegynder
26. august 2004 - 08:41 #1
Åbn din databaseforbindelse ÉN gang i toppen af din side, og luk den i bunden. Så undgår du for mange "opkald"

Det er svært at sige om der kan være en sammenhæng - Alt er muligt :) Men nu kan du rette det der i første omgang, så kan du kigge på det andet bagefter... ;)
Avatar billede riishoj Nybegynder
26. august 2004 - 08:50 #2
Det må jeg prøve, når jeg kommer hjem igen. Er lige på vej ud af huset, men inden da - kender du nogle grunde til at en session fejler periodisk?
Avatar billede riishoj Nybegynder
27. august 2004 - 14:43 #3
Det var ikke det, som gav sessionfejlen, men en serverfejl!!! Du får allligevel point, da der er meget fornuft i dit forslag.
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