SoulGodMedlem sedan aug. 20051 200 inlägg Fick ett konstigt felmeddelande nu, som jag inte stött på tidigare.
Är det jag som skrivit någon konstig kod, eller vad är felet?
# Feltyp:
ADODB.Recordset (0x800A0CB3)
Aktuellt Recordset kan inte uppdateras. Det kan bero på en begränsning av providern eller den valda låstypen.
/test/gbproc.asp, line 10
Koden som körs är:
<%
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.Mappath("galleri.mdb")
Set rs = Server.CreateObject("ADODB.Recordset")
Query = "SELECT * FROM album"
rs.open Query, Connect
%>
<%
rs.AddNew
rs("namn") = Request.Form("namn")
rs("fotograf") = Request.Form("fotograf")
rs.Update
%>
<%=Request.Form("namn")%><br>
<%=Request.Form("fotograf")%> <br>
<br>
Har sparats i databasen.
<br>
<a href="add.asp">Gå Vidare</a></p>
@ndersMedlem sedan juni 200032 969 inlägg
Är det jag som skrivit någon konstig kod
Japp. Om du ska använda ditt recordset för att uppdatera data måste du ju ange en låstyp som tillåter det, när du öppnar ditt recordset.
Det verkar dock extremt onödigt att du hämtar allt innehåll i tabellen för att lägga till en post. Får man föreslå att du antingen använder en INSERT-fråga, eller också ser till att inte hämta en massa data du ändå inte ska använda?
Så här kan du lösa det.
Set rs = Server.CreateObject("ADODB.Recordset")
Query = "SELECT * FROM album"
rs.open Query, Connect, 3, 3
Samt som anders sa, använd inte den metoden för att mata in något i databasen, den är gammal och det finns bättre metoder - Insert.
namn = trim(Request("namn"))
fotograf = trim(Request("fotograf"))
Set SQL = connect.execute("INSERT INTO album (namn,fotograf) Values('" & namn & "','" & fotograf & "'")