\"Id\" i forespørgseler
Jeg har gennemgået html.dk\'s ASP-tutorial og ser store muligheder i det hér ASP.Især muligheden for at lave links ud af forekomster fra tabel og efterfølgende \'pakke disse ud\'.
Med udgangspunkt i eksempel 3 på http://www.html.dk/tutorials/asp/lektion19.asp har jeg følgende spørgsmål:
1) Er man tvunget til at bruge en \"Id\" i select statement og tilsvarende når man laver linket og querystring?
2) Er det det samme \"Id\" der hér er tale om? Hvordan ville eksemplet have set ud, hvis tabellen havde indeholdt feltet \"Nr\" i stedet for \"Id\"?
3) Kan man med udgangspunkt i én tabel, liste disse forekomster og slå op i anden tabel? Hvis ja, hvordan?
Koden til liste.asp og person.asp fra html.dk er som følger...
Koden til liste.asp
<html>
<title>Hente data fra database</title>
<head>
</head>
<body>
<ul>
<%
\' Databaseforbindelse - husk at angive sti til din database
Set Conn = Server.CreateObject(\"ADODB.Connection\")
DSN = \"DRIVER={Microsoft Access Driver (*.mdb)}; \"
DSN = DSN & \"DBQ=\" & Server.MapPath (\"/cgi-bin/database.mdb\")
Conn.Open DSN
strSQL = \"Select * From personer Order by Fornavn Desc\"
Set rs = Conn.Execute(strSQL)
Do
\' Personens navn
strNavn = rs(\"Fornavn\") & \" \" & rs(\"Efternavn\")
\' lav et link til person.asp med Id-værdien i URL
strLink = \"<a href=\'person.asp?id=\" & rs(\"Id\") & \"\'>\" & strNavn & \"</a>\"
\' Liste med links
Response.Write \"<li>\" & strLink & \"</li>\"
rs.MoveNext
Loop While Not rs.EOF
Conn.Close
Set Conn = Nothing
%>
</ul>
</body>
</html>
Koden til person.asp
<html>
<title>Hente data fra database</title>
<head>
</head>
<body>
<dl>
<%
\' Databaseforbindelse - husk at angive sti til din database
Set Conn = Server.CreateObject(\"ADODB.Connection\")
DSN = \"DRIVER={Microsoft Access Driver (*.mdb)}; \"
DSN = DSN & \"DBQ=\" & Server.MapPath (\"/cgi-bin/database.mdb\")
Conn.Open DSN
\' Hent fra databasen afhængig af værdien id fra URL
strSQL = \"Select * From personer Where Id = \" & Request.Querystring(\"id\")
Set rs = Conn.Execute(strSQL)
\' Skriv personens data
Response.Write \"<dt>Navn:</dt><dd>\" & rs(\"Fornavn\") & \" \" & rs(\"Efternavn\") & \"</dd>\"
Response.Write \"<dt>Telefon:</dt><dd>\" & rs(\"Telefon\") & \"</dd>\"
Response.Write \"<dt>Fødselsdato:</dt><dd>\" & FormatDateTime(rs(\"Foedselsdato\"), vbLongDate) & \"</dd>\"
Conn.Close
Set Conn = Nothing
%>
</dl>
<p><a href=\"liste.asp\">Retur til listen</a></p>
</body>
</html>
