webForumDet fria alternativet

Read-Only ??

13 svar · 204 visningar · startad av jimpa

jimpaMedlem sedan jan. 2001361 inlägg
#1

Hej,

Får upp detta meddelande när jag försöker lägga till en ny post i databasen.

ADODB.Recordset.1 error '80004005'

Recordset is read-only

Hmm, gör jag något fel när jag gör själva databasen då?
Typ någon inställning som man måste göra
för att få alla rättigheter.
Använder MS access 2000.
I såna fall hur ställer man in det?

//m.v.h. Jimpa

cascaMedlem sedan feb. 20005 891 inlägg
#2

Får man se lite kod? :)

------------------
...and you give me my phonecall?

jimpaMedlem sedan jan. 2001361 inlägg
#3

Ok, lite kod

<%
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "DSN=b1464-crossdata;Password=@01#$hefghhdgmlbfkjdhmpfbce"
Set RecSet = Server.CreateObject("ADODB.Recordset")
Addera = "SELECT * FROM image "
RecSet.Open Addera, Connect

RecSet.AddNew
RecSet("imageID") = Request.Form("imageID")
RecSet("image") = Request.Form("image")
RecSet("imagetext") = Request.Form("imagetext")

RecSet.Update
RecSet.Close
Connect.Close
%>

@ndersMedlem sedan juni 200032 969 inlägg
#4

du öppnar ju med en readonly cursor juh!
om du nu prompt ska använda recordet-metoder för att lägga till och ändra data i en tabell måste du när du öppnar recordsetet ange ett par till parametrar.

eftersom jag aldrig gjort det, ty jag använder riktiga ( ;) ) databaser och anrop, så vet jag heller inte hur man gör. ;)

jag har för mig att den ena parametern, den första, brukar kallas adOpenDynamic, och den andra (japp, andra) brukar kallas adLockOptimistic.

kanske, som sagt. casca vet. :)

------------------
<A HREF="http://cartman.nu" TARGET=_blank>
if i'm not back in five minutes, just wait longer.</A>

cascaMedlem sedan feb. 20005 891 inlägg
#5

Enligt "default" är cursor'n satt till den "vanliga" statiska, testa att klämma in adOpenDynamic.. :)

Så istället för

RecSet.Open Addera, Connect

Så kläm in

RecSet.Open Addera, Connect, adOpenDynamic, adLockOptimistic

Lycka till mannen :e

r
Tror inte att man behöver köra med någon specifierad postlåsning, om man inte vill ha något annat än default alltså (det är en låsning som innebär att man inte kan ändra något) :)

------------------
...and you give me my phonecall?

[Redigerat av casca den 17 feb 2001]

[Redigerat av casca den 17 feb 2001]

cascaMedlem sedan feb. 20005 891 inlägg
#6

eftersom jag aldrig gjort det, ty jag använder riktiga (;)) databaser och anrop, så vet jag heller inte hur man gör.

Riktiga databaser? ;)

------------------
...and you give me my phonecall?

@ndersMedlem sedan juni 200032 969 inlägg
#7

japp, hos mig heter dbms microsoft sql server, oracle eller ibm db2. :)

------------------
<A HREF="http://cartman.nu" TARGET=_blank>
if i'm not back in five minutes, just wait longer.</A>

@ndersMedlem sedan juni 200032 969 inlägg
#8

r då alltså.

------------------
<A HREF="http://cartman.nu" TARGET=_blank>
if i'm not back in five minutes, just wait longer.</A>

cascaMedlem sedan feb. 20005 891 inlägg
#9

Jahapp ;)

Själv lirar jag med mySQL, har skippat Access :p

------------------
...and you give me my phonecall?

jimpaMedlem sedan jan. 2001361 inlägg
#10

Lade till det i koden och fick detta felmeddelande i stället

Microsoft VBScript runtime error '800a01b6'

Object doesn't support this property or method: 'RecSet'

/cross/admin/save_image.asp, line 31

Någon som vet vad som är fel?

//m.v.h. Jimpa

@ndersMedlem sedan juni 200032 969 inlägg
#11

har du inkluderat adovbs.inc på din sida?

vilken är rad 31?

------------------
<A HREF="http://cartman.nu" TARGET=_blank>
if i'm not back in five minutes, just wait longer.</A>

cascaMedlem sedan feb. 20005 891 inlägg
#12

Men hörrö, skippa Recordseten.. ;)
Nåt sånt här ska funka lika bra..

<%
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "DSN=b1464-crossdata;Password=@01#$hefghhdgmlbfkjdhmpfbce"
Addera = "INSERT INTO image(imageID, image, imagetext) VALUES('" & Request.Form("imageID") & "','" & Request.Form("image") & "','" & Request.Form("imagetext") & "')"

Connect.Execute(Addera)
Connect.Close
Set Connect = Nothing
%>

------------------
...and you give me my phonecall?

jimpaMedlem sedan jan. 2001361 inlägg
#13

Tack för er hjälp fick det att funka nu!

//m.v.h. GLADE Jimpa

MindsEyeMedlem sedan feb. 200160 inlägg
#14

Jag ser att det löste sig för dig men tänkte bara berätta att om du ändå vill använda Recordset och öppna databasen så att det går att skriva i den. Skriv så här i själva öppningsfrasen.

RecSet.Open Addera, Connect, 1, 2

------------------
www.pcpriser.nu

136 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)