Jeg har prøvet mig lidt frem:
<%
Response.Buffer = "True"
' -> DETTE ER VARIABLERNE TIL DATABASEN.
Dim myConn
Dim strSQL
' -> DSNLess FORBINDELSE TIL DATABASEN.
Set myConn = Server.CreateObject("ADODB.Connection")
myConn.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("users.mdb")
Response.AddHeader "cache-control","private"
Response.AddHeader "pragma","no-cache"
Response.CacheControl = "no-cache"
Response.CacheControl = "private"
Response.Expires = -1
Response.ExpiresAbsolute = Now() -1
%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "
http://www.w3.org/TR/html4/loose.dtd"><html>
<head>
<title>Alfabetisk Sideinddeling</title>
<body>
<table align="center" border="0" cellpadding="0" cellspacing="0" width="90%">
<tr>
<td align="left" valign="top" width="100%">
<h1>Alfabetisk Sideinddeling</h1>
<p>Vælg første bogstav i fornavn:
<%
If Request.QueryString("letter") = "" Then
strSQL = "SELECT username, FROM users WHERE username LIKE '%[A]' ORDER BY username"
Else
strSQL = "SELECT username FROM users WHERE username LIKE '%" & Request.QueryString("letter") & "' ORDER BY username"
End If
Set rs = Server.CreateObject("ADODB.recordset")
rs.Open strSQL, myConn, 1, 1
' -> DETTE ANGIVER ALFABETETS BOGSTAVER A - Z.
For x = -63 To -38
Response.Write " <a href=" & chr(34) & "med.asp?letter=" & chr(128 + x) & chr(34) & ">" & chr(128 + x) & "</a> " & vbCrLf
Next
' -> DETTE ANGIVER ALFABETETS BOGSTAV Æ.
For x = 70 To 70
Response.Write " <a href=" & chr(34) & "med.asp?letter=" & chr(128 + x) & chr(34) & ">" & chr(128 + x) & "</a> " & vbCrLf
Next
' -> DETTE ANGIVER ALFABETETS BOGSTAV Ø.
For x = 88 To 88
Response.Write " <a href=" & chr(34) & "med.asp?letter=" & chr(128 + x) & chr(34) & ">" & chr(128 + x) & "</a> " & vbCrLf
Next
' -> DETTE ANGIVER ALFABETETS BOGSTAV Å.
For x = 69 To 69
Response.Write " <a href=" & chr(34) & "med.asp?letter=" & chr(128 + x) & chr(34) & ">" & chr(128 + x) & "</a> " & vbCrLf
Next
%></p>
<tbody>
</tbody>
</table>
<p></p>
<%
' Sikrer mod SQL injection
If isNumeric(Request.QueryString("id")) Then
set conn = server.CreateObject("adodb.connection")
set rs = server.CreateObject("adodb.recordset")
conn.open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath ("users.mdb")
SQL = "SELECT * FROM users WHERE (id = " & Request.QueryString("id") & ")"
set rs = conn.execute(sql)
Do While Not rs.EOF
response.write "<a href=""vis.asp?id=" & rs("id") & """>"& rs("username") & "</a><br>"
' Løber posterne i gennem
rs.MoveNext
Loop
' Lukker forbindelse
Conn.Close
Set Conn = Nothing
Else
Response.Write("Kategori ID er ikke et tal.")
End If
%>
</td>
</tr>
</table>
</td>
</tr>
</table>
</body>
<head>
men får denne fejl
Microsoft OLE DB Provider for ODBC Drivers error '80040e14'
[Microsoft][ODBC Microsoft Access Driver] Extra ) in query expression '(Id = )'.
med.asp, line 81
line 81 - set rs = conn.execute(sql)