ASP Nyhedsbrev
Hej.Jeg har et problem med et nyhedsbrev som skal laves med database, som jeg har hentet på hjemmesideskolen.
Jeg har lagt filerne som jeg har hentet ud på nettet, men får denne fejl:
Microsoft OLE DB Provider for ODBC Drivers error '80004005'
[Microsoft][ODBC Microsoft Access Driver] Operation must use an updateable query.
/Nyhedsbrev/tilmeld.asp, line 47
Og i linje 47 står der: Conn.Execute("INSERT INTO nyhedsbrev (email) VALUES ('" & email & "')")
Hele koden til denne side er:
<% Dim mode
mode = Request.QueryString("mode")
If mode = "" Then 'Hvis mode = ingenting - så vis formular til tilmelding/framelding %>
<form method="POST" action="tilmeld.asp?mode=submit">
<p>E-mail adresse:<br>
<input type="text" name="email" size="30"><br>
Tilmeld: <input type="radio" name="status" value="tilmeld" CHECKED>
Frameld: <input type="radio" name="status" value="frameld"><br><br>
<input type="submit" value="Tilmeld/Frameld"></p>
<% ElseIf mode = "submit" Then 'Hvis mode = "submit" så godkend og registrer indtastning
Dim email, status, error
error = False 'Bruges til at teste om der er sket fejl eller der er mangler i indtastning
email = Trim(Replace(Request.Form("email"), "'", ""))
status = Request.Form("status")
If Len(email) = 0 Then 'Tester om der er indtastet e-mail adresse
Response.Write "<h1>OBS!</h1>"
Response.Write "<strong>Du har ikke indtastet en e-mail adresse</strong>"
error = True
End If
If error = False Then 'Tilføjer eller fjerner e-mail adresse fra database
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath ("database.mdb")
Conn.Open DSN
If status = "tilmeld" Then 'Tilmelder e-mails
Set rs = Conn.Execute("SELECT email FROM nyhedsbrev WHERE email='" & email & "'")
If Not rs.EOF Then
Response.Write "<h1>OBS!</h1>"
Response.Write "<h4>Denne e-mail adresse er allerede tilmeldt i systemet</h4>"
Else
Conn.Execute("INSERT INTO nyhedsbrev (email) VALUES ('" & email & "')")
Response.Write "<h1>Tak for tilmeldingen</h1>"
Response.Write "<b>Du er nu tilmeldt nyhedsbrevet</b>"
End If
End If 'Slutter tilmeld
If status = "frameld" Then 'Framelder e-mails
Set rs = Conn.Execute("SELECT email FROM nyhedsbrev WHERE email='" & email & "'")
If Not rs.EOF Then
Conn.Execute("DELETE * FROM nyhedsbrev WHERE email='" & email & "'")
Response.Write "<h1>Frameldingen er registreret</h1>"
Response.Write "<h4>Du får ikke flere nyhedsbreve</h4>"
Else
Response.Write "<h1>OBS!</h1>"
Response.Write "<h4>Din e-mail adresse blev ikke fundet i systemet</h4>"
End If
End If 'Slutter frameld
Conn.Close
Set Conn = Nothing
End If 'Slutter tilmeld/frameld %>
<br><a href="java script:history.back()">« Tilbage</a>
<% End If %>
</form>
Og den kan ses her: http://www.ringstedtennisklub.dk/Nyhedsbrev/tilmeld.asp