Avatar billede timmwillum Nybegynder
20. oktober 2008 - 12:28 Der 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 .........
Avatar billede timmwillum Nybegynder
20. oktober 2008 - 12:31 #1
Der skal naturligvis stå:

        Set RS = Server.CreateObject("ADODB.RecordSet")
        SQL = "SELECT * FROM tblForsendelse"
        RS.CursorType = 2
        RS.LockType = 3
        RS.Open SQL, cString

... er midt i fejlsøgning, derfor lidt variabel miskmask i første eksempel
Avatar billede keysersoze Guru
20. oktober 2008 - 12:58 #2
prøv at kom med lidt mere kode - du snakker om nogle ting vi slet ikke kan se ud fra ovenstående.
Avatar billede timmwillum Nybegynder
20. oktober 2008 - 13:21 #3
Så får du hele bunken :-)

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
   
    'bug hunting
    'Response.write "RSstart - systemTxt: " & RSstart("systemTxt") & "<br>"
    %>   

      <table class="table_indhold" width="620px">
        <tr>
          <td class="td_adminheader">Forsendelse mm.:</td>
        </tr>
        <tr>
          <td valign="top" class="td_adminindhold">
   
            <%If Not RSstart.EOF Then 'Udskriver (eventuelle) tilmeldte
                Do While Not RSstart.EOF%>
   
                      <form method="post" action="forsendelse/forsendelse-vis.asp" style="text-decoration: none;font-size: 10px;" name="UpdateForm">
                      <input type="hidden" name="id" value="<%=RSstart("id")%>">
                      <input type="hidden" name="mode" value="forsendelse-vis">
                      <input type="hidden" name="betegnelse" value="<%=RSstart("betegnelse")%>">
                      <table class="table_98" cellspacing="0">
                        <tr>
                            <td valign="top" width="120px">
                                <%=RSstart("betegnelse")%>
                            </td>
                            <td valign="top" width="40px">
                                <input type="text" name="pris" value="<%=RSstart("pris")%>" size="4">
                            </td>
                            <td width="80px">
                                <input name="aktiv" type="checkbox" value="ja" <% if RSstart("aktiv") = "ja" then response.write "checked" End if%>>&nbsp;Aktiv
                            </td>
                            <td><input class="button" type="submit" name="submitBtn" value="Gem">
                            <!--<a href="?mode=sprog-delete&amp;id=<%'=RSstart("id")%>">slet</a>-->
                            </td>
                            </td>
                        </tr>
                      </table>
                    </form>
                <%RSstart.MoveNext
                Loop
            Else
                Response.Write "Der er ingen registreringer i databasen ..."
            End If%>
                   
            <p class="lille"><br>Det er ikke muligt at rette betegnelse eller tilføje nye omkostninger.</p>       
          </td>
        </tr>
      </table>


    </center>
    <%
    RSstart.Close
    Set RSstart = Nothing

%>
Avatar billede keysersoze Guru
20. oktober 2008 - 13:35 #4
hvilken linie fejler - synes ikke lige at linie 29 passer til noget i ovenstående? hvilke kolonnetyper bruger du?
Avatar billede timmwillum Nybegynder
20. oktober 2008 - 13:43 #5
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 ...
Avatar billede timmwillum Nybegynder
20. oktober 2008 - 13:52 #6
Arggggg ... stop alt

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.

Tak for indsatsen
Avatar billede timmwillum Nybegynder
20. oktober 2008 - 13:58 #7
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 keysersoze Guru
23. oktober 2008 - 10:04 #8
Det siger mig desværre ikke noget - du kunne evt prøve noget som jeg finder mere optimalt, nemlig en egentlig update-sql, fx;

UPDATE tabel SET kolonne1 = 'værdi', kolonne2 = 'andenværdi' WHERE id = 5
Avatar billede timmwillum Nybegynder
27. oktober 2008 - 21:31 #9
Det prøver jeg ved lejlighed ... tak
Avatar billede keysersoze Guru
04. november 2008 - 09:54 #10
kommet videre?
Avatar billede timmwillum Nybegynder
04. november 2008 - 20:05 #11
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.

Måske du kan give det et skud?
Avatar billede keysersoze Guru
04. november 2008 - 21:01 #12
jeg vil hellere se hvad du indtil videre er nået frem til og hvad du evt får af fejl.
Avatar billede keysersoze Guru
29. december 2008 - 12:51 #13
kommet videre?
Avatar billede timmwillum Nybegynder
09. marts 2011 - 20:59 #14
svar
Avatar billede keysersoze Guru
10. marts 2011 - 18:32 #15
tak for hjælpen...
Avatar billede timmwillum Nybegynder
10. marts 2011 - 21:40 #16
Hey keysersoze

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 ...
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