Avatar billede musse Nybegynder
27. september 2001 - 09:27 Der er 10 kommentarer og
1 løsning

ubound - forkerte typer! 600 point!

Der opstod en Microsoft VBScript-kørselsfejl fejl \'800a000d\'

Typerne stemmer ikke overens: \'ubound\'

shopcart.asp, linje 11

Dette er fejlen der kommer når jeg vil køre nedenstående script. Er der nogen der kan finde ud af hvor fejlen opstår?
Jeg vil give 600 point!!!

<!--#INCLUDE FILE=\"adovbs.inc\"-->
<!--#INCLUDE FILE=\"45tn73gf4347y.asp\"-->
<!--#include file=\"proces.inc\"-->
\'<%
\'response.write request.querystring(\"itemno\")
\'%>

<%
vareNr = session(\"CartItemNumArreay\")
antal = session(\"CartItemQtyArray\")
optaltVarenr = ubound(vareNr)




   
  \'Determine the mode of this page\'s operation. If we got here from a
  \'  link that had a \"mode\" querystring of \"add\", mode is add:
  sMode = request.querystring(\"mode\")
 
  \'Or, we could have gotten here from a form:
  select case request.form(\"cmdSubmit\")
    case \"Forlad siden\"
      sMode = \"forlad\"
    case \"Slet ordre\" 
      sMode = \"slet\"
    case \"Fortsæt indkøb\"
      sMode = \"fortsaet\"
  end select
 
  if sMode = \"add\" then
    nVareIndex = 0
    sItemNo = ucase(request.querystring(\"itemno\"))
    if optaltVarenr > 0 then
      for i = 1 to optaltVarenr
        if ucase(vareNr(i)) = sItemNo then
          nVareIndex = i
          exit for
        end if
      next
    end if
    if nVareIndex = 0 then
      nVareIndex = optaltVarenr + 1
      redim Preserve vareNr(nVareIndex)
      redim Preserve antal(nVareIndex)
      vareNr(nVareIndex) = sItemNo
      antal(nVareIndex) = 1
    else
      antal(nVareIndex) = antal(nVareIndex) + 1
    end if
    session(\"CartItemNumArray\") = vareNr
    session(\"CartItemQtyArray\") = antal
    optaltVarenr = ubound(vareNr)
  end if
 
  if sMode = \"slet\" or sMode = \"forlad\" or sMode = \"fortsaet\" then
    for i = 1 to optaltVarenr
      nThisQty = int(request.form(\"txtItemQty\" & i))
      antal(i) = nThisQty
    next
    session(\"CartItemNumArray\") = vareNr
    session(\"CartItemQtyArray\") = antal
  end if

  %>
<html>



<br>
<font face=\"Verdana,Arial\" color=\"#008000\" size=\"-1\">
<% if sMode = \"forlad\" then %>
<form action=\"../submitorder.asp\" method=\"POST\">
<% else %>
<form action=\"shopcart.asp\" method=\"POST\">
<% end if %>
<%
  if optaltVarenr = 0 then
    response.write \"Der er ingen vare i din indkøbskurv.<br>\"
  else
    if sMode = \"forlad\" then
%>
<%
  cSubTotal = 0 \'
  nNumItems = 0 \'
  for i = 1 to optaltVarenr \'
    Set database = Server.CreateObject(\"ADODB.Recordset\") \'
    sSQL = \"SELECT * FROM koeleskab WHERE Varenr = \'\" & _
      vareNr(i) & \"\'\" \'
    set database = con.execute(sSQL)\'
    database.open sSQL \'
    con, adopenstatic, _
    adlockpessimistic, adcmdtext \'
%>
  <tr bgcolor=\"#99ccff\">
<%
  sTemp = \"<input type=\'Text\' name=\'txtItemQty\" & i & \"\' value=\'\" & _
    antal(i) & \"\' size=\'3\'>\"
  nNumItems = nNumItems + antal(i)
%>
    <td align=\"center\">
      <font face=\"Verdana,Arial\" color=\"#000000\" size=\"-1\">
      <% = sTemp %></font></td>
    <td align=\"center\">
      <font face=\"Verdana,Arial\" color=\"#000000\" size=\"-1\">
      <% = database(\"varenr\") %></font></td>
    <td><font face=\"Verdana,Arial\" color=\"#000000\" size=\"-1\">
      <% = database(\"varenavn\") %></font></td>
<%
    cPrice = database(\"Pris\")
%>
    <td align=\"center\">
      <font face=\"Verdana,Arial\" color=\"#000000\" size=\"-1\">
      <% = formatcurrency(cPrice) %></font></td>
<%
  cExtension = antal(i) * cPrice
  cSubTotal = cSubTotal + cExtension
%> 
    <td align=\"right\">
      <font face=\"Verdana,Arial\" color=\"#000000\" size=\"-1\">
      <% = formatcurrency(cExtension) %></font></td>
  </tr>
<% next %>
  <tr bgcolor=\"#c5c5c5\">
    <td align=\"center\" colspan=\"4\">
      <font face=\"Verdana,Arial\" size=\"-1\">Subtotal</font></td>
    <td align=\"right\"><font face=\"Verdana,Arial\" size=\"-1\">
      <% = formatcurrency(cSubTotal) %></font></td>
  </tr>

</table>
<br><div align=\"center\">

<input type=\"Submit\" name=\"cmdSubmit\" value=\"Fortsæt indkøb\">
<input type=\"Submit\" name=\"cmdSubmit\" value=\"Slet ordre\">
<br><br>
<% if sMode = \"forlad\" then %>
<input type=\"Submit\" name=\"cmdSubmit\" value=\"Send ordre\">
<% else %>
<input type=\"Submit\" name=\"cmdSubmit\" value=\"Gå til kassen\">
<% end if %>
</div></form>
<% end if %>


</body>
</html>
Avatar billede trane_frisk Nybegynder
27. september 2001 - 09:29 #1
Skal der ikke stå unbound i stedet for ubound?
Avatar billede trane_frisk Nybegynder
27. september 2001 - 09:29 #2
.
Avatar billede cyb Nybegynder
27. september 2001 - 09:32 #3
Prøv at give dimentionen med når du kalder ubound.

optaltVarenr = ubound(vareNr, 1)
Hvis der kun er en dimention.
Avatar billede musse Nybegynder
27. september 2001 - 10:32 #4
der skal stå ubound, om jeg angiver dimensionen betyder intet
Avatar billede nute Nybegynder
27. september 2001 - 10:38 #5
det er helt sikekrt fordi du ikke har fått smidt din array opp i din session. Feilmelding av denne type kommer når du sjekker upper/lower-bounds på en variabel av simpel type.

Du har ikke fått lagt arrayobjektet opp i din session

/nute
Avatar billede musse Nybegynder
27. september 2001 - 11:04 #6
Jeg ved ikke om du mener at det er dette i global.asa, du mener der mangler:

<SCRIPT LANGUAGE=VBScript RUNAT=Server>
Sub Session_OnStart
  dim sItemNums(0), antal(0)
  sItemNums(0) = \"\"
  antal(0) = 0

  session(\"CartItemNumArray\") = sItemNums
  session(\"CartItemQtyArray\") = antal
Avatar billede cyb Nybegynder
27. september 2001 - 13:12 #7
Di skal dimintionere sItemNums til 1, da der er et element i den (det er ikke som i C++).
Dim sItemNums(1)
Det samme gælder for antal.
Avatar billede kichian Nybegynder
27. september 2001 - 13:12 #8
Der er noget skidt med tyrk-fejl:

session(\"CartItemNumArreay\") er ikke det samme som session(\"CartItemNumArray\")
Avatar billede kichian Nybegynder
27. september 2001 - 13:13 #9
cyb> nej, Dim sItemNums(1) betyder at Ubound(sItemNums) = 1. Dvs 2 elementer.
Avatar billede cyb Nybegynder
27. september 2001 - 17:38 #10
Surry - stuppid me :-(
Avatar billede burningice Nybegynder
27. september 2001 - 22:10 #11
musse>> jeg ved godt det er basics, men det kan jo være at du ikke har prøvet det...

hvad med at udskrive indholdet af vareNr før du laver den ubound, bare for at se hvad der ligger i den, om der overhovedet er noget!
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