我需要你的幫助。就在我傳統的ASP應用程序中的購物車中添加項目,會出現此錯誤(不總是)Microsoft VBScript運行時錯誤'800a0009'ASP
Microsoft VBScript runtime
error '800a0009'
Subscript out of range
/agrega_carrito.inc, line 71
這是代碼文件,行56 - 86
if IsEmpty(Session("arrcarrito")) then
'Create shopping cart
Dim arrcarrito()
Redim arrcarrito(6, 1)
arrcarrito (0, 0) = idprod
arrcarrito (1, 0) = color
arrcarrito (2, 0) = talla
arrcarrito (3, 0) = cantidad
arrcarrito (4, 0) = precio
arrcarrito (5, 0) = peso
Session("arrcarrito") = arrcarrito
Else
'Add items to shopping cart
arrcarrito = Session("arrcarrito")
tamano_arr = Ubound(arrcarrito, 2)
Redim Preserve arrcarrito (6, tamano_arr + 1) <- line 71
arrcarrito (0, tamano_arr) = idprod
arrcarrito (1, tamano_arr) = color
arrcarrito (2, tamano_arr) = talla
arrcarrito (3, tamano_arr) = cantidad
arrcarrito (4, tamano_arr) = precio
arrcarrito (5, tamano_arr) = peso
Session("arrcarrito") = arrcarrito
end if
arrcart = Session("arrcarrito")
l = 0
r = UBound(arrcart,2) - 1
s = UBound(arrcart,1)
Call QuickSort(arrcart, l, r, 1, s)
Session("arrcarrito") = arrcart
謝謝!
適用於我的機器。從你的代碼看來,你誤解了數組邊界是如何工作的。在VBScript中,這個'Redim arr(1,1)'創建一個2×2的數組,其兩個維度的LBound爲0,UBound爲1.這種方法與其他通常定義長度的語言不同。也許如果你用這些知識調整你的代碼,問題可能會消失。這就是說,我無法看到你的代碼在你指明的點上失敗,並測試它的一個版本,我不能再現問題。你也許會發現'tamano_arr'結尾的值是什麼。 – AnthonyWJones 2012-07-27 08:24:18
'QuickSort'的代碼是什麼?它可能會改變數組,使其他東西。 – 2012-07-29 07:38:30