Code :
<%@enablesessionstate=false%>
<!-- Geen gebruik van sessievariabelen op deze pagina -->
<%response.buffer=true%>
<html><head>
<TITLE>dbtablegetrows.asp</TITLE>
<link href="../stijl.css" rel="stylesheet">
</head>
<body bgcolor="#FFFFFF">
<div class="hoofding">
Database Connectie (.mdb) : standaard
</div>
<%
DB = "biblio_2000.mdb"
Path = Server.MapPath(DB)
set DataConn = server.Createobject("ADODB.Connection")
DataConn.Open "Data Source=" & Path & ";Provider=Microsoft.Jet.OLEDB.4.0;"
Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open "SELECT * FROM klant", DataConn
If rs.eof then
response.write "Geen records<br>"
Call Sluit
response.end
end if
response.write "<table border='1'><tr>" & vbcrlf
'Hoofdingen
response.write "<td><b>klant_id</B></TD>" _
&"<td><b>klantnaam</B></TD>" &"<td><b>plaats</B></TD>" & vbcrlf
response.write "</tr>" & vbcrlf
' alle records
Do until rs.eof
response.write "<tr>" & vbcrlf
response.write "<td>" &rs("klant_id") &"</td>" _
&"<td>" &rs("klantnaam") &"</td>" &"<td>" &rs("plaats") &"</td>" _
& vbcrlf
response.write "</tr>" & vbcrlf
rs.movenext
Loop
call Sluit
response.write "</table>"
%>
</body></html>
<%
SUB Sluit
rs.close
set rs=nothing
dataconn.close
set dataconn=nothing
END SUB
%>
Uitleg :
Om een verbinding te leggen met een database wordt gewerkt met ADO :
ActiveX Data Objects.
Een connectie met de database wordt gelegd met een adodb.connection-object
Dit object bevat de gegevens om een verbinding met de database te maken :
In deze voorbeelden werken we met een DSN-loze connectie :
vanzelfsprekend kan je ook verbinden via een DSN (via vb. ODBC-koppeling ).
Al je DSN-loos verbindt heb je het fysieke pad van het .mdb-bestand nodig,
dit wordt bepaald met de instructie Server.mapPath(relatief pad van het bestand)
We gebruiken voor het openen van het Connectie-object DataConn een connectiestring
Deze bevat de Data source (locatie van het .mdb-bestand) en
de Provider (Welk DBMS/database driver wordt gebruikt).
Met deze gegevens heb je genoeg om te verbinden met een Access-database.
Eens de connectie geopend is kan je recordsets vullen :
weergaves van tabellen, queries (Stored Procedures) of resultaten van een SELECT SQL-statement.
Recordsets kan je zoals in VB ook een cursortype,locktype,... geven wanneer je de ADO methodes wenst te gebruiken.
Hier specifiëren we deze niet en nemen we dus genoegen met een standaard ForwardOnly cursor.
De recordset wordt hier geopend aan de hand van een SQL-statement.
Er gebeurt daarna een controle of er wel records in de recordset aanwezig zijn,
zoniet wordt de subroutine Sluit aangeroepen : deze sluit de recordset en de connectie.
Zijn er wel records dan doorlopen we de recordset met een DO UNTIL...LOOP - lus.
We zorgen ervoor dat de gegevens uit de recordset netjes in een HTML-tabel terechtkomen.
We kunnen een veldwaarde ophalen met de VBScript-instructie Recordsetnaam("veldnaam") vb. rs("klant_id")