Avatar billede killer_r Nybegynder
15. oktober 2003 - 12:36 Der er 10 kommentarer og
2 løsninger

fejl i ADODB.RecordSet

Når jeg forsøger at køre følgende kode:

Set rs = Server.CreateObject("ADODB.RecordSet")
rs.Open "Tavlen", Conn
  rs.AddNew
  rs("svarid") = IntSvarid
  rs("adgang") = IntAdgang
  rs("overskrift") = StrOverskrift
  rs("besked") = StrBesked
  rs("forfatter") = StrForfatter
  rs("MailMode") = StrMailMode
  rs("email") = StrEmail
  rs.Update

IntNyId = rs("id")

rrs.Close()
Set rs = Nothing


Melder den denne fejl:


ADODB.Recordset error '800a0cb3'
Det aktuelle postsæt understøtter ikke opdatering. Det kan skyldes en begrænsing af provideren eller den markerede låsetype.
/Tavlen.asp, line 417


Det må være noget med at der skal være nogle flere parametre ved rs.open, men hvilke?


/Killer_R
Avatar billede killer_r Nybegynder
15. oktober 2003 - 12:38 #1
der skal selvfølgelig bare stå rs.Close()
Avatar billede hossein Nybegynder
15. oktober 2003 - 14:05 #2
prøv med:
rs.open "Tavlen", conn, 2, 2
eller:
rs.open "Tavlen", conn, 3, 3
Avatar billede killer_r Nybegynder
15. oktober 2003 - 14:17 #3
De virker begge to... Hvad er forskellen og hvilken er bedst?
Avatar billede killer_r Nybegynder
15. oktober 2003 - 14:34 #4
Nope... Det trækker jeg i mig igen...
De sætter det godt nok ind i databasen, men IntNyId indeholder ikke et tal bagefter :(
Avatar billede hossein Nybegynder
15. oktober 2003 - 14:37 #5
Har du et felt som hedder IntNyId? hvis ja, så er det fordi den er ikke med i din add.new.
Avatar billede killer_r Nybegynder
15. oktober 2003 - 14:39 #6
Nej... Den skal ligge tallet i rs("id") (der kommer vha. autonummerering) over i variablen IntNyId...
Avatar billede hossein Nybegynder
15. oktober 2003 - 14:42 #7
hvis den er autonummering så skal du ikke sætte noget i. den får selv et nummer når du opretter et sæt.
Avatar billede killer_r Nybegynder
15. oktober 2003 - 15:11 #8
Hør nu her! "Den skal ligge tallet i rs("id") over i variablen IntNyId"
Den ligger ikke noget i rs("id"), men den ligger tallet fra rs("id") over i IntNyId!
Avatar billede killer_r Nybegynder
15. oktober 2003 - 15:31 #9
Jeg har lige siddet og kigget på:
http://www.aspfaqs.com/aspfaqs/ShowFAQ.asp?FAQID=79
Der står noget med adOpenKeySet, adLockOptimistic, adCmdTable
kan det passe? Hvad gemmer der sig bag disse variabler....?
Avatar billede killer_r Nybegynder
15. oktober 2003 - 16:04 #10
Jeg har fundet ud af hvis jeg bruger følgende virker det. Hvorfor skal CursorLocation være 3?

        Set rs = Server.CreateObject("ADODB.RecordSet")
        rs.CursorLocation = 3
        rs.Open "Tavlen", Conn, 3, 3
        rs.AddNew
            rs("svarid") = IntSvarid
            rs("adgang") = IntAdgang
            rs("overskrift") = StrOverskrift
            rs("besked") = StrBesked
            rs("forfatter") = StrForfatter
            rs("MailMode") = StrMailMode
            rs("email") = StrEmail
        rs.Update
        IntNyId = rs("id")
        rs.Close
        Set rs = Nothing
Avatar billede hossein Nybegynder
16. oktober 2003 - 11:15 #11
oooh, jeg havde ikke set den: IntNyId = rs("id").
Det giver brugeren ret til at opdatere, læse/skrive. Mere om cursor typer kan du læse her:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/ado270/htm/mdaenumac_15.asp
Avatar billede killer_r Nybegynder
26. marts 2004 - 13:50 #12
lukker
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester