20. oktober 2008 - 12:28Der er
15 kommentarer og 1 løsning
error '800a0bb9'
Hej alle
Jeg er ved at blive sindsyg. Får en 800a0bb9 fejl ved load fra en db. Har søgt alle steder på nettet efter svar uden held. Har også haft fat i webhotellet, som ikke yder service på programmering og påstår, at det ikke er serveren.
Bruger følgende til forbindelse til en MySQL db:
Set RS = Server.CreateObject("ADODB.RecordSet") SQL = "SELECT * FROM tblForsendelse" RSstart.CursorType = 2 RSstart.LockType = 3 RS.Open SQL, cString
Når siden loades bruges den nøjagtige samme forbindelse til at loade information ind i en formular. Når jeg så skal kalde siden igen ved en opdatering af filerne giver den følgende fejl allerede ved RS.Open ... jeg når altså slet ikke frem til selve opdateringen af filen med RS.update:
ADODB.Recordset error '800a0bb9'
Arguments are of the wrong type, are out of acceptable range, or are in conflict with one another.
/admin/forsendelse/forsendelse-vis.asp, line 29
Er det mig, som er helt fra den? Hjæææælppppp .........
Nedenstående er indsat som en include på hovedsiden.
<% Dim badValue, badPris, opdateret
If Request.Form <> "" Then
badValue = False badPris = False
If isNumeric(Request.Form("pris")) Then
Set RS = Server.CreateObject("ADODB.RecordSet") SQL = "SELECT * FROM tblForsendelse" RS.CursorType = 2 RS.LockType = 3 RS.Open SQL, cString
RS("betegnelse") = Request.Form("betegnelse") RS("pris") = Request.Form("pris") If Request.Form("aktiv") = "ja" Then RS("aktiv") = "ja" Else RS("aktiv") = "nej" End if
RS.Update RS.Close Set RS = Nothing
opdateret = "ja" 'Response.Redirect "?mode=sprog-vis&opdateret=ja" End If
'*** Form udfyldt, men med fejl ' ... først identificerer vi hvor fejlen er - til brug for fejlmeddelelser If NOT isNumeric(Request.Form("pris")) Then badValue = True badPris = True End If
'Fyld variabler, så formen får "hukommelse" betegnelse = Request.Form("betegnelse") pris = Request.Form("pris") End if
'Generer fejlmeddelelser baseret på "bad" værdier tilskrevet tidligere If Request.Form <> "" AND badValue Then %> <center><table class="table_admin"><tr><td> <p class="errorText"><%=txtFejlIndtastning%></p> <p class="broed"><%=txtRetMarkering%></p> </td></tr></table></center> <%End If
'Lave en meddelelse, hvis filerne er opdaterede If opdateret = "ja" Then %> <center><table class="table_admin"><tr><td> <p class="errorText"><%=txtOpdateret%></p> </td></tr></table></center> <%End If
%> <!-------------------------- TABEL FORSENDELSE MM --------------------------------> <!-----------------------------------------------------------------------------------> <% Set RSstart = Server.CreateObject("ADODB.RecordSet") startSQL = "SELECT * FROM tblForsendelse" RSstart.CursorType = 2 RSstart.LockType = 3 RSstart.Open startSQL, cString
Det er fordi jeg har slettet et par rem-linjer ... beklager. Den fejler ved første "RS.Open SQL, cString" som jo så i virkeligeheden er den anden RS.Open, fordi den først kaldes ved forsøg på at sende formularen ...
Har fundet fejlen. Den ligger i min form, som sender direkte til forsendelse/forsendelse-vis.asp. Den skal sende til index.asp med et mode=forsendelse-vis. Min cString bliver sat i en include fil ... som kaldes via index.asp
Beklager ulejligheden. Du tror det nok ikke, men jeg har rodet med det her p.. i næsten en uge. Utroligt at man ikke ser noget så simpelt.
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?
Sjovt du spørger. Jeg har faktisk netop i går prøvet med en sql update. Det gik ikke så godt. Det er vist for lang tid siden og jeg har helt vænnet mig til recordset metodikken. Kan simpelthen ikke få sql strikket rigtig sammen.
Det var nu ikke for at være uhøflig. Men synes bare, at denne tråd var så gammel, at det ikke gav mening at begynde at kommunikere i den igen. Regnede faktisk ikke med, at du stadig overvågede tråden.
Jeg er for nylig blevet belært om, hvordan man lukker gamle spørgsmål. Så jeg løb en bunke igennem i går og tog den lette løsning på mange af dem ... inklusiv denne tråd.
Mht. UPDATE så nåede jeg aldrig til det i ovenstående sammenhæng. Men jeg er ved en senere omlægning af en anden side løbet ind i andre problemer med min RS tilgang. Så jeg har for nylig lavet alle UPDATEs om til mere rene SQL UPDATEs, som virker uden problemer.
Tak for din hjælp ...
Synes godt om
Ny brugerNybegynder
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.