Archief - [PROG]-[ASP VBscript] Fout na 2e keer databasegegevens opvragen.

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

Merlinoke

Legacy Member
Gegroet,

bedankt alvast aan de mods die zonder pm of zonder iets mijn topic verwijderd hebben (en niet gerenamed of gemoved) zodat ik weeral een kwartier van mijn tijd om een nieuwe te maken moet verdoen.

Soit, mijn probleem dus.

Ik heb een ASP pagina (het gaat dus over webdesign, maar aangezien het scripting is met VB script hoort het zeker hier thuis) waar uit een database via verschillende recordsets gegevens worden opgevraagd. Nu ben ik op volgend probleem gestoten: als ik die pagina opvraag, geen probleem, alle gegevens worden gelezen enz, maar als ik dat binnen de minuut nog eens probeer, dan geeft hij een fout op de regel waar ik de connectie met de database open.

Dus volgens mij ligt het aan het feit dat die connectie nog open is, of er een sessielengte is die eerst verstreken moet zijn vooraleer de pagina nog eens te raadplegen, want als ik het na een minuutje nog eens probeer lukt het weer wel één keer en dan weer niet meer.

Aangezien ik geen idee heb hoe ik dit probleem moet oplossen (connecties instellen op database? instelling op de IIS server? connectie sluiten (done)?), vraag ik het hier maar ff.

Hier alvast mijn code:

.Declaratie van variabelen en openen van sommige recordsets
Code:
<%
	Dim connectie, rsGegevens, rsGegevens2, strSQL, strSQL2, strSQL3, strSQL4, strConnectie
	
	Set connectie = server.createobject("ADODB.connection")
	strConnectie = "DRIVER={Microsoft Access Driver (*.mdb)}; dbq=" & server.mappath("afwezigheden.mdb")
	[b]connectie.open strConnectie[/b]
	set rsGegevens = server.createobject("adodb.recordset")
	set rsGegevens2 = server.createobject("adodb.recordset")
	set rsDienst = server.createobject("adodb.recordset")
		
	strSQL = "SELECT DISTINCT Naam FROM tblPersoneel ORDER BY Naam"
	strSQL2 = "SELECT * FROM tblOngeval ORDER BY OngevalID"
	rsGegevens.open strSQL, connectie
	rsGegevens2.open strSQL2, connectie
%>

..Opvullen cbo's en tabellen
Code:
          <select name="select">
<%
	Do While not rsGegevens.eof
%>
          <option value="<%=rsGegevens("naam")%>"><%=rsGegevens("naam")%></option>
<%
	rsGegevens.movenext
	Loop
	rsGegevens.movefirst
%>
        </select>
        </p>
        </td>
    </tr>
    <tr>
      <td>Ziekteperiode toevoegen aan: </td>
      <td><form name="form1" method="post" action="toevoegen.asp">
        <select name="select">
		<%
			Do While not rsGegevens.eof
		%>
          <option value="<%=rsGegevens("naam")%>"><%=rsGegevens("naam")%></option>
		<%
			rsGegevens.movenext
			Loop
			rsGegevens.movefirst
			rsGegevens.Close
		%>
        </select>
        <input name="cmdToevoegen" type="submit" id="cmdToevoegen" value="Verder">
      </form></td>
    </tr>
    <tr>
      <td>Personeelslid toevoegen:</td>
      <td>        <input name="cmdPerstoevoegen" type="submit" id="cmdPerstoevoegen" value="Verder">
      </td>
    </tr>
  </table>
  
  <p align="center" class="style1">&nbsp;</p>
        <table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" id="AutoNumber1">
        <tr>
          <td align="center"><strong><span class="style2">ID</span></strong></td>
          <td align="center"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="1">Naam</font></b></td>
          <td align="center"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="1">Afdeling</font></b></td>
          <td align="center"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="1">Soort ongeval</font></b></td>
          <td align="center"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="1">Start ziekte</font></b></td>
          <td align="center"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="1">Einde ziekte</font></b></td>
        </tr>
<%
  	Do While not rsGegevens2.eof
		strSQL3 = "SELECT * FROM tblPersoneel WHERE PersID=" & rsGegevens2("PersID")
		rsGegevens.Open strSQL3, connectie
		strSQL4 = "SELECT * FROM tblDienst WHERE DienstID=" & rsGegevens("Dienst")
		rsDienst.Open strSQL4, connectie
%>
        <tr>
          <td><div align="center"><a href=aanpassen.asp?ID="<%=rsGegevens2("ongevalID")%>"><%=rsGegevens2("ongevalID")%></a></div></td>
          <td><div align="center"><font size="1" face="Verdana, Arial, Helvetica, sans-serif"><%=rsGegevens("Naam") & " " & rsGegevens("Voornaam")%>&nbsp;</font></div></td>
          <td><div align="center"><font size="1" face="Verdana, Arial, Helvetica, sans-serif"><%=rsDienst("Dienstnaam") & " - " & rsDienst("Afdeling")%></font></div></td>
          <td><div align="center"><font size="1" face="Verdana, Arial, Helvetica, sans-serif"><%=rsGegevens2("soortongeval")%>&nbsp;</font></div></td>
          <td><div align="center"><font size="1" face="Verdana, Arial, Helvetica, sans-serif"><%=rsGegevens2("startziekte")%>&nbsp;</font></div></td>
          <td><div align="center"><font size="1" face="Verdana, Arial, Helvetica, sans-serif"><%=rsGegevens2("eindeziekte")%>&nbsp;</font></div></td>
        </tr>
<% 
  		rsGegevens2.movenext
  		rsGegevens.Close
		rsDienst.Close
  Loop
  connectie.close
%>
      </table>
</div>

Als het nu nog niet goed staat, laat me dan eerst iets weten via pm ofzo, want dit is wel belangrijk (eindwerk) en moet tegen vrijdag volledig af zijn...

Thnx op voorhand :p

Merlinoke

Merlinoke

Legacy Member
problem solved door ne klasgenoot:

--> set connectie = nothing

blaatschaap

Legacy Member
jah, connectie en recordset uit geheugen halen
dus allebei best = nothing ;)

WHiSPy

Legacy Member
Performant gaat dat systeem in ieder geval niet zijn. Ge gaat 2x dezelfde recordset doorlopen in 'n verschillende lus en ge doet 'n select * wat al helemaal niet aan te raden is. :)
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan