Avatar billede timmwillum Nybegynder
06. oktober 2008 - 20:26 Der er 14 kommentarer og
1 løsning

Fejl ved opdatering - når der ikke er ændringer

Hej Eksperter

Det her er sikkert et helt elementært spørgsmål ... jeg håber så bare, at der er en lige så let løsning på problemet ;-)

Har for nylig lagt om fra Access til MySQL. Det er gået fint. Men jeg opdager nu, at jeg får fejl, hvis jeg trykker opdater og prøver at opdatere en record, som der ikke er tastet ændringer ind i. Hvis jeg ændrer i formularen sker ingen fejl. Uden ændringer giver det fejl, ved forsøg på gem.

Fejlmeldingen ser således ud:

    Microsoft OLE DB Provider for ODBC Drivers error '80004005'

    Query-based update failed because the row to update could not be found.

    /admin/link-ret.asp, line 22

Har i øvrigt prøvet at køre det fra Access igen ... der virker det fint.

Spørgsmålet er nu, om der er en let løsning omkring problemet. Alternativt skal jeg jo til at indarbejde en kontrol ved hver opdatering i forhold til, om brugeren rent faktisk har lavet en ændring eller ej. Det vil jeg gerne ud af, da der er tale om en relativt omfattende side.
Avatar billede w13 Novice
06. oktober 2008 - 21:18 #1
Du må nok vise, hvad du prøver i koden.
Avatar billede timmwillum Nybegynder
06. oktober 2008 - 22:03 #2
Fx

            Set RS = Server.CreateObject("ADODB.RecordSet")
            Sql = "SELECT * FROM tblSprog WHERE id=" & request("id") & ""
            RS.CursorType = 2
            RS.LockType = 3
            RS.Open Sql, cString

            If Request.Form("sprogAktivSystem") = "ja" Then
                RS("sprogAktivSystem")     = Request.Form("sprogAktivSystem")
            Else
                RS("sprogAktivSystem")     = "nej"
            End if
           
            RS.Update
            RS.Close
            Set RS = Nothing
Avatar billede w13 Novice
06. oktober 2008 - 22:20 #3
Og er du sikker på, at request("id") har fat i noget, når problemet opstår?

Prøv lige at sætte din side til at udskrive det, så du kan se, om det indeholder noget, når fejlen sker.
Avatar billede timmwillum Nybegynder
07. oktober 2008 - 19:36 #4
Ja, den tanke er jo nærliggende. Så det har jeg naturligvis kontrolleret ... og så lige nu igen. Den har fat i "id".

Andre gode idéer?
Avatar billede w13 Novice
07. oktober 2008 - 20:32 #5
Ok. Også prøvet at se, om SQL'en bliver genereret rigtigt ved at skrive den ud også?
Avatar billede timmwillum Nybegynder
07. oktober 2008 - 21:10 #6
Får denne fine skærmmeddelelse:

Sql: SELECT * FROM tblSprog WHERE id=1

... det ser vel meget fint ud?
Avatar billede arne_v Ekspert
12. oktober 2008 - 04:08 #7
Prøv og erstat den RecordSet update med en eller flere regulære SQL UPDATE statements.
Avatar billede timmwillum Nybegynder
20. oktober 2008 - 13:57 #8
Måske du kan hjælpe med noget andet ...

Efter at være gået fra access til mysql får jeg nu fejl, hvis jeg forsøger at opdatere en fil, uden at der er ændret i formularen. Altså hvis jeg bare loader siden og trykker på "send" eller "opdater" knappen. Det giver følgende fejl:

  Microsoft OLE DB Provider for ODBC Drivers error '80004005'

  Query-based update failed because the row to update could not be found.

  /admin/forsendelse/forsendelse-vis.asp, line 27

Hvorfor giver det fejl? Og hvorfor står der Microsoft, når jeg nu er gået væk fra access?
Avatar billede arne_v Ekspert
20. oktober 2008 - 21:45 #9
Hvilken kode er der omkring linie 27 ?

OLE DB og ODBC er begge opfundet af Microsoft.
Avatar billede arne_v Ekspert
25. oktober 2008 - 23:04 #10
timm ?
Avatar billede timmwillum Nybegynder
09. marts 2011 - 21:00 #11
svar
Avatar billede timmwillum Nybegynder
09. marts 2011 - 21:03 #12
Hey Arne ... hvis du stadig er her på eksperten, vil jeg bare sige undskyld den lange "sagsbehandlingstid". Den her er vist røget i glemmehullet ... pisse dårligt ved jeg godt. Beklager ... har haft en del andet at se til.

Hvis du stadig er her, vil jeg gerne give dig point. Jeg lukker spm inden for et par dage, hvis jeg ikke hører fra dig.
Avatar billede arne_v Ekspert
09. marts 2011 - 21:11 #13
svar
Avatar billede arne_v Ekspert
09. marts 2011 - 21:15 #14
naa ikke alligevel
Avatar billede timmwillum Nybegynder
10. marts 2011 - 21:25 #15
ARGHHH ... ved ikke lige hvad der gik galt her.

Lukkede en del spm i går, men da jeg skrev den seneste besked til dig, var dette ikke lukket ... Kan der være forsinkelse på, før det fremgår, hvem der bliver tildelt point ... og jeg så har goofet ... eller har blandet spm sammen? Anyway ... håber at du lever uden de 60 point. Jeg skal nok sende dig nogle point næste gang du svarer på et spørgsmål (tror ikke at det er lovligt at oprette et spm alene med det formål at give dig point?!?)
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
Computerworld tilbyder specialiserede kurser i database-management

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