Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord

Vraag & Antwoord

Webprogrammeren & scripting

[asp/VBscript] Type mismatch probleem

Anoniem
Annie
1 antwoord
  • Ik ben bezig voor mijn stage een winkelwagensysteem aan te passen van een vorige stageloper.
    Hierbij worden de te verkopen items opgehaald uit msaccess en in een lijst geplaatst, waarna de bezoeker op bestel kan klikken, waarna het betreffende item in de winkelwagen zou moeten komen.
    Zodra echter op 'bestel' wordt geklikt, komt er de volgende error op het scherm:
    [quote:a3bce5074f]
    Microsoft VBScript runtime error '800a000d'

    Type mismatch

    /shopbasket/addprod.asp, line 35
    [/quote:a3bce5074f]

    Hoe kan deze error zijn ontstaan? Kan het zijn dat er ergens een bestand/gegevens uit de database zijn verwijderd, aangezien de code schijnt te hebben gewerkt op het moment dat de vorige stageloper wegging en er sindsdien niemand meer aan de code schijnt te hebben gezeten.

    De gegevens:
    De bezoeker komt via catagories/subcatagories/products.asp bij addprod.asp waarna er een item in de winkelwagen moet komen en er de totaalprijs-eventuele kortingen op het scherm komt.

    De (gedeeltelijke)code is in dit bestand als volgt:
    [code:1:a3bce5074f]
    Dim prodid, quantity, arrCart, metacartItem, klant, cproducttype
    prodid = Request.Form("fproductid")
    quantity = Request.Form("fquantity")
    arrCart = Session("MyCart")
    metacartItem = Session("cartItem")
    klant = Session("klant")

    If prodid <> "" Then
    If metacartItem < maxCartItems Then
    metacartItem = metacartItem + 1
    End If
    Session("cartItem") = metacartItem
    Dim rsItem
    Set rsItem = Server.CreateObject("ADODB.Recordset")
    rsItem.Open "products", dbc, adOpenForwardOnly,adLockReadOnly,adCmdTable
    rsItem.Filter = "productID = " & prodid
    If Not rsItem.EOF Then
    >>r35<< arrCart(cProductid,metacartItem) = rsItem("productID")
    arrCart(cProductCode,metacartItem) = rsItem("productcode")
    arrCart(cProductname,metacartItem) = rsItem("productname")
    arrCart(cProducttype,metacartitem) = rsItem("producttype")
    arrCart(cQuantity,metacartItem) = CInt(quantity)
    arrCart(cUnitPrice,metacartItem) = rsItem("price")
    Session("MyCart") = arrCart
    rsItem.Close

    End If
    Else
    [/code:1:a3bce5074f]
    De rest van de code is (dacht ik) niet zo interessant, omdat de foutenafhandeling na regel 35 wordt gestopt.

    Dit bestand heeft als 'include' db.asp

    De variabelen hebben hierbij de volgende waardes: (d.m.v. Response.Write)
    [quote:a3bce5074f]
    cproductid:1 (eerste item uit lijst items welke kunnen worden besteld)
    metacartItem:9 (aantal keer dat er een item naar de winkelwagen wordt verzonden = maximaal 10 (aangegeven in db.asp))
    prodid:24597 (itemnummer uit database)
    arrCart: (geen waarde)
    Session("MyCart"): (geen waarde)
    rsItem("productID"):24597 (itemnummer uit database)
    arrCart(cProductid,metacartItem): (geeft een error)
    [/quote:a3bce5074f]

    Ik hoop dat iemand me hierbij kan helpen, aangezien ik er niet zo via google/msdn.microsoft.com achter kon komen.
    Als er meer code moet komen, stuur ik dat graag.

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.