23. december 2005 - 16:02
Der er
14 kommentarer og 1 løsning
Kan ik update db
Hey Har et script der skal opdatere en acces database, men hver gang jeg forsøger at køre det får jeg bare: ADODB.Recordset error '800a0cb3' Current Recordset does not support updating. This may be a limitation of the provider, or of the selected locktype. /guestbook/admin_paging.asp, line 124 min kode ser således ud: <% if mode = "ret2" then %> <% Set rs = Server.CreateObject("ADODB.RecordSet") strSQL = "Select * From gb where id=" & Request.QueryString("ID") strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("/db/fipsGbook.mdb") rs.Open strSQL, strDSN, 1 rs("Name") = Request.form("navn") rs("Email") = Request.form("email") rs("Homepage") = Request.form("homepage") rs("Entry") = Request.form("entry") rs("Kommentar") = Request.form("Kommentar") rs.Update %> nogle der har en ide til hva jeg gør galt?
Annonceindlæg tema
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
24. december 2005 - 00:12
#1
Fejlen skyldes som regel fordi man ikke har angivet en LockType for recordsetet: rs.Open strSQL, strDSN, 1 [, mangler] Default for LockType er nemlig adLockReadOnly eller 1. Så angiv en anden LockType som tillader man kan opdatere sit recordset: rs.Open strSQL, strDSN, 1, 2
24. december 2005 - 00:39
#2
Hmm det giver stadig: ADODB.Recordset error '800a0cb3' Current Recordset does not support updating. This may be a limitation of the provider, or of the selected locktype. /guestbook/admin_paging.asp, line 125
25. december 2005 - 22:17
#3
Bare lige en tanke - hvad med: rs.Open strSQL, strDSN, 1, 1
26. december 2005 - 18:29
#4
ADODB.Recordset error '800a0cb3' Current Recordset does not support updating. This may be a limitation of the provider, or of the selected locktype. /guestbook/admin_paging.asp, line 126 giver det
06. januar 2006 - 11:21
#5
har du kigget på om du har de rette skrive rettigheder i mappen, hvor databasen ligger
06. januar 2006 - 11:53
#6
Dim oConn, oRs, filePath, Index ' Map authors database to physical path filePath = Server.MapPath("db2.mdb") ' Create ADO Connection Component to connect with sample database Set oConn = Server.CreateObject("ADODB.Connection") oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & filePath Set oRs = Server.CreateObject("ADODB.Recordset") strSQL = "Select * FROM gb WHERE id = " & Session("id") & ";" Response.Write(strSQL) ' Udfør forespørgsel (rss indeholder nu resultatet) Set rss = oConn.Execute(strSQL) Response.Write(rss("Name")) ' rss("Name") = "Svend" ' rss("Email") = "Svend@Svendsen" ' rss("Homepage") = "Svendsen.dk" strSQL = "UPDATE gb SET Name = '" & Request.Form("Name") & "' , Email = '" & Request.Form("Email") & "' , Homepage = '" & Request.Form("HomePage") & "' WHERE id = " & Session("id") response.Write(strSQL) oConn.Execute(strSQL)
07. januar 2006 - 02:46
#7
har ændret koden til dette: Set rs = Server.CreateObject("ADODB.RecordSet") strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("/db/fipsGbook.mdb") strSQL = "UPDATE gb SET Name = '" & Request.Form("navn") & "' , Email = '" & Request.Form("email") & "' , Homepage = '" & Request.Form("homepage") & "' WHERE id = " & Request.QueryString("ID") response.Write(strSQL) oConn.Execute(strSQL) og får følgende fejl: UPDATE gb SET Name = 'theis poulsen' , Email = 'henrikemiljensen@hotmail.com' , Homepage = '' WHERE id = 1089 Microsoft VBScript runtime error '800a01a8' Object required: '' /guestbook/admin_paging.asp, line 127 line 127 er: oConn.Execute(strSQL)
07. januar 2006 - 02:47
#8
ps. ja kan godt skrive til databasen med andre scripts.... er bare det her der driller
07. januar 2006 - 12:35
#9
ok så prøv at rette koden til dette så oConn defineres og åbner forbindelse til db'en: Set rs = Server.CreateObject("ADODB.RecordSet") Set oConn = Server.CreateObject("ADODB.Connection") strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("/db/fipsGbook.mdb") oConn.Open strDSN strSQL = "UPDATE gb SET Name = '" & Request.Form("navn") & "' , Email = '" & Request.Form("email") & "' , Homepage = '" & Request.Form("homepage") & "' WHERE id = " & Request.QueryString("ID") response.Write(strSQL) oConn.Execute(strSQL)
07. januar 2006 - 20:53
#10
Ok det virker, pånær hvis et af felterne er tomme.. Hvordan gør man så de gerne må være tomme?
07. januar 2006 - 21:50
#11
Hvis du får en fjel at kolonne skal indeholde en værdi så skal du ind i Access, åbne tableen og vælge egenskaber/properties på den kolonne du ønsker må indeholde en tom streng. Find Tilladnullængde og set den til "Ja"
07. januar 2006 - 22:33
#12
ok ja det virker :) Kan du så se hva fejlen er her? strSQL = "UPDATE gb SET Name = '" & Request.Form("navn") & "' , Email = '" & Request.Form("email") & "' , Homepage = '" & Request.Form("homepage") "' , Entry = '" & Request.Form("entry") & "' , Kommentar = '" & Request.Form("Kommentar") & "' WHERE id = " & Request.QueryString("ID") Microsoft VBScript compilation error '800a0401' Expected end of statement /guestbook/admin_paging.asp, line 124 strSQL = "UPDATE gb SET Name = '" & Request.Form("navn") & "' , Email = '" & Request.Form("email") & "' , Homepage = '" & Request.Form("homepage") "' , Entry = '" & Request.Form("entry") & "' , Kommentar = '" & Request.Form("Kommentar") & "' WHERE id = " & Request.QueryString("ID") ----------------------------------------------------------------------------------------------------------------------------------------------------^ ?
07. januar 2006 - 22:41
#13
Der mangler et & tegn imellem Request.Form("homepage") og "' ,Entry.... så prøv sådan her: strSQL = "UPDATE gb SET Name = '" & Request.Form("navn") & "' , Email = '" & Request.Form("email") & "' , Homepage = '" & Request.Form("homepage") & "' , Entry = '" & Request.Form("entry") & "' , Kommentar = '" & Request.Form("Kommentar") & "' WHERE id = " & Request.QueryString("ID")
07. januar 2006 - 22:56
#14
tak tak kom med et svar og få point
07. januar 2006 - 23:05
#15
Ja her et svar ;)
Kurser inden for grundlæggende programmering