Strular!
Har suttit länge och klurat med får inte min Access-databas att funka. Någon som ser vart felet ligger. Har lagt upp den på en server för asp men det strular.
Databasen heter citat och koden för formulär resp citat ser ut så här:
Citat:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Untitled Document</title>
</head>
<body>
<%
'Vi börjar öppna databasen, denna gången med ett RecordSet så vi kan hämta informationen från databasen.
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" &
Server.MapPath("DATABASEN.MDB")
Set RecSet = Server.CreateObject("ADODB.Recordset")
SQL = "SELECT * FROM citat"
RecSet.Open SQL, Connect, 3, 3
If RecSet.EOF then 'Om databasen är tom ska följande hända
Response.Write "Databasen är tom!"
else 'Om den inte är det händer detta
Response.Write "<table cellspacing='0' Cellpadding='0'>"
Do UNTIL RecSet.EOF 'gör tills databasen är tom
%>
<tr>
<td><%=RecSet("namn")%></td>
<td><%=RecSet("citat")%></td>
<td><%=RecSet("vem")%></td>
<td><%=RecSet("datum")%></td>
</tr>
<%
RecSet.MoveNext 'HÄmta nästa post.
Loop 'Gör detta tills databasen är tom
Response.Write "</table>"
%>
<a href="formular.asp">Lägg till ett citat</a>
</body>
</html>
Formulär:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Untitled Document</title>
</head>
<body>
<form method="post" action="formular.asp?do=spara">
<table><tr>
<td>Ditt Namn:</td><td><input type="text" name="namn" /></td>
</tr><tr>
<td valign="top">Citatet:</td><td><textarea name="citat"></textarea></td>
</tr><tr>
<td>Vem sa det?:</td><td><input type="text" name="vem" /></td>
</tr><tr>
<td></td><td><input type="submit" value="Spara!" /></td>
</tr></table>
</form>
<%
IF Request.QueryString("do") = "spara" then
'Vi skapar en databaskoppling utan Recordsets.
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" &
Server.MapPath("DATABASEN.MDB")
'Vi hämtar informationen från formuläret och ger värdena nya enklare namn
'Vi dimmar även objekten
'Vi ska även hämta tid och datumet när citatet las till. (strNow)
Dim strNamn, strCitat, strVem, strNow
strNamn = Request.Form("namn")
strCitat = Request.Form("citat")
strVem = Request.Form("vem")
strNow = now()
'Vi skapar en SQL sträng
SQL = "INSERT INTO citat (namn, citat, vem, datum) VALUES ('"&strNamn&"','"&strCitat&"','"&strVem&"','"&strNow&"')"
'Vi öppnar SQL strängen och sparar i databasen.
Connect.Execute(SQL)
'Vi skickar besökaren till sidan där han kan läsa sitt citat.
Response.Redirect "citat.asp"
'Vi stänger databasen satsen.
Connect.Close
Set Connect = Nothing
'Vi avslutar IF satsen.
End If
%>
</body>
</html>
