Notes
Outline
Active Server Pages
Kurt Claeys
Wat ?
ASP = Active Server Pages
Een scripting omgeving met de bedoeling HTML paginas te genereren.
Programmeerplatform voor interactieve websites
Laat toe een database te benaderen dmv van een site.
ASP Scripts
genereren HTML
op server.
Een ASP file
Vergelijkbaar met HTML file.
Bevat Tekst, HTML-tags en Scriptinginstructies
Scripting wordt uitgevoerd op de Server door IIS (of PWS)
Heeft de extensie .asp
Hoe werkt het ?
HTML : Wanneer een browser een .html pagina opvraagt zal de server die pagina naar de client sturen. Zonder meer.
ASP : Wanneer een browser een .asp pagina vraagt zal de server de scriptinginstructies in de pagina uitvoeren, hierdoor wordt HTML dynamisch gegenereerd en naar de client gestuurd.
Algemeen principe
  ASP maakt mogelijk om dynamische websites te maken door via scriptinginstructies uitgevoerd op de webserver, HTML te genereren.
Browser onafhankelijk
Hierdoor kan men browser-onafhankelijk werken.
De scripting wordt uitgevoerd op server en resulteert in standaard HTML.
Deze HTML is zowel met Netscape als Explorer compatible.
Vereisten voor ASP
Windows Platform
IIS vanaf versie 3.0 op NT 4.0 (Service Pack, Option Pack)
IIS 5.0 standaard in Windows 2000
NotePad/Frontpage om te editeren
PWS (Personal Webserver) in Windows 98 -> niet performant, als test geschikt
Hallo Wereld
Een .asp pagina die bij het opvragen de tijd en datum toont.
HTML – ASP-Scripting - Tekst
Client - Server
Resultaat
<% ... %>
Afbeelden - Sturen
Voorbeeld
If ... Then ... Else ... End IF
Een HTML table als uitvoer.
Atributen van HTML tags beïnvloeden
Functies
Response.Write
Response.Write in functies
Arrays
Arrays (2)
Arrays (3)
Scope van variabelen
Variabelen worden NIET onthouden
tussen paginacalls in
Variabelen worden NIET onthouden
tussen paginacalls in
Session variabelen
Session variabelen
Session.SessionID
Inhoud van Forms doorsturen
Inhoud van Forms doorsturen
Waarde van een dropdown.
Waarde van een dropdown.
FOTO :<br>
<img border="0" src="foto<%=Request.QueryString("Fotonr")%>.jpg">
Waarden doorgeven via URL
http://127.0.0.1/aspsite/voorbeeld15_p2.asp?FotoNr=1
Passwoorden doorsturen.
Waarde van een dropdown.
Passwoorden doorsturen.
Method = “Post” / Method = “Get”
Get
- waarden zichtbaar/aanpasbaar in URL
- Request.QueryString(“Varnaam”)
Post
- waarden niet zichtbaar in URL
- Request.Form(“Varnaam”)
Oefening
Database Technieken
Een website is database-driven
-> de inhoud wordt gestuurd door elementen uit een database
-> informatie die getoond wordt is afkomstig uit een database
->data die ingegeven wordt via de site wordt in een database opgeslagen.
Benodigdheden
ASP
ADO Data objecten
Connectie met database
MS Access
SQL Server 7
SQL Opdrachten
ADO
ActiveX Data Objects
Objecten die een database aanspreken
Geïnstalleerd bij IIS
Connection
Recordset
Command
Server Mappath
Hoe weet de server waar de database zich bevindt ?
Connection String
   DRIVER ={Microsoft Access Driver (*.mdb)};
DBQ = C:\waar\dedatabase.mdb“
Met Server.Mappath

DRIVER ={Microsoft Access Driver (*.mdb)};
DBQ = “ & Server.MapPath("dedatabase.mdb")
SQL Opdrachten
SELECT = query
DELETE
INSERT
UPDATE
SELECT
SELECT * FROM TabelNaam
SELECT VeldNaam FROM TabelNaam
SELECT VeldNaam FROM TabelNaam where VeldNaam = Waarde
SELECT count(*) FROM TabelNaam
SELECT * FROM TabelNaam ORDER BY VeldNaam
Voorbeeld Database
Database is MS-Access Database
.mdb
Data betreffende een autohandelaar
Autohandelaar
3 Tables
Autos
Merken
Visitors
Connection
Set oCn = CreateObject("ADODB.Connection")
oCn.ConnectionString = “ConnectieString”
oCn.Open
Recordset
Set oRs = CreateObject("ADODB.Recordset")
Set oRs.ActiveConnection = oCn
oRs.Open (“SQLOpdracht”)
Query in string opstellen
MaxPrijs = 300000
Bouwjaar = 1997
SqlString = "SELECT autoid FROM autos WHERE (prijs_bef < " & MaxPrijs & ") and (bouwjaar > " & bouwjaar & ")"
oRs.Open (SqlString)
Door een recordset lopen.
Do while not oRs.eof
Response.Write oRs.Fields(“Veldnaam")
oRs.MoveNext
Loop
Een veld benaderen
oRs.MoveFirst
oRs.MoveNext
oRs.MoveLast
oRs.MovePrev
X = oRs.Fields(“Veldnaam")
Response.write oRs.Fields(“Veldnaam")
<%= oRs.Fields(“Veldnaam")%>
Records in een HTML table
<table border="1" width="25%">
  <%Do while not oRs.eof%>
  <tr>
    <td width="10%"><%=oRs.fields("MerkId")%></td>
    <td width="90%"><%=oRs.fields("MerkNaam")%></td>
  </tr>
  <%oRs.MoveNext%>
  <%Loop%>
</table>
SQL Commando
Set oCm.ActiveConnection = oCn
oCm.CommandText = (“SQLOpdracht")
oCm.Execute
Delete SQL commando
Set oCm = CreateObject("ADODB.Command")
Set oCm.ActiveConnection = oCn
oCm.CommandText = ("DELETE FROM autos where autoid = '13'")
oCm.Execute
Een record aanpassen
oRs.Locktype = 2
SqlString = "SELECT * FROM autos WHERE autoid ='13'"
oRs.Open (SqlString)
oRs.Fields("bouwjaar") = "1999"
oRs.Update
Een record toevoegen
oRs.Open (SqlString)
oRs.AddNew
oRs.Fields("autoid") = "13"
oRs.Fields("bouwjaar") = "1950"
oRs.Update
Praktijk studie


De autohandelaar in detail
"Dank U"
Dank U
Casey IT Services