台灣最大程式設計社群網站
線上人數
2258
 
會員總數:246145
討論主題:189731
歡迎您免費加入會員
討論區列表 >> ASP >> [ASP]Session
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
[ASP]Session
價值 : 0 QP  點閱數:1008 回應數:8
樓主

小琪琪
初學者
72 30
86 24
發送站內信

請問一下下
為什麼我用Session接值,但是都會出現以下的錯啊??

Microsoft VBScript 執行階段錯誤 錯誤 '800a0009' 

陣列索引超出範圍: '[number: 1]'

這是我的寫法

fnpromoprice=Session("fnpromoprice")
promoprice = Split(fnpromoprice, ",")

請高手指點迷津吧!!!
謝謝大家喔!!!

搜尋相關Tags的文章: [ session ] ,
本篇文章發表於2002-08-20 17:19
1樓
回應

MoMo
檢舉此回應
我猜想 fnpromoprice 應該沒接到 Session("fnpromoprice")ㄉ值ㄅ

才會造成這樣ㄉ錯誤.....
本篇文章回覆於2002-08-20 17:30
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
作者回應

小琪琪
檢舉此回應
基本上,都只接到第一筆的資料
第二筆開始一直接不到
所以,
我想這樣的寫法是不是有錯?!
本篇文章回覆於2002-08-20 17:35
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
回應

路人甲
檢舉此回應
上述這兩句話都沒錯
你把整個網頁放上來讓大家幫你找問題
本篇文章回覆於2002-08-20 18:13
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
作者回應

小琪琪
檢舉此回應
不好意思,我的網頁程式碼太多了,
我放一部份上來
   <table border="1" width="100%" bordercolorlight="#FFFF99" cellpadding="5" bordercolordark="#FFFF99">
    <tr>
      <td width="100%" align="center" colspan="2"> <font color="#FF0000">========交易確認========</font></td>
    </tr>
    <tr>
      <td width="18%" align="center">訂購人</td>
      <td width="82%"><%=Session("fscustomername")%></td>
      <input type="hidden" name="fscustomeraccount" value="<%=Session("fscustomeraccount")%>">
    </tr>
    <tr>
      <td width="18%" align="center">訂購商品</td>
      <td width="82%">
        <div align="center">
<%
Set RS=Server.CreateObject("ADODB.RecordSet")

SQLstr="SELECT fnproductid,fsproduct,fsoriginalprice,fnpromoprice,fntransportid"
SQLstr=SQLstr & " From TBPRODUCT"
SQLstr=SQLstr & " Where fnproductid IN ('" & Replace(BookList,",","','") & "')"
'Response.Write SQLstr
'Response.End
RS.Open SQLstr,Conn,3,3
%>          
          <center>
          <table border="1" width="100%" cellpadding="3" bordercolorlight="#FFFFCC" bordercolordark="#FFFFCC">
            <tr>
              <td width="10%" align="center">編號</td>
              <td width="40%" align="center">訂購商品</td>
              <td width="12%" align="center">原價</td>
              <td width="13%" align="center">特惠價</td>
              <td width="11%" align="center">數量</td>
              <td width="14%" align="center">小計</td>
            </tr>
<%
cnt=0
Do while not RS.EOF
cnt=cnt+1
%>             
            <tr>
<%
'取得儲存在Session物件中的訂購數量
'這些資料將儲存在以訂購產品編號為名稱的產品
OrdQty=Session(RS("fnproductid"))

'計算各訂購項目的小計
Session("SubTotal")=RS("fnpromoprice")*OrdQty

'計算訂單的總計金額
Total=Total+Session("SubTotal")
%> 
<%
fnpromoprice=RS("fnpromoprice")
fntransportid=RS("fntransportid")
Session("fnpromoprice")=fnpromoprice
Session("fntransportid")=fntransportid
Session("Total")=Total
Session("OrdQty")=OrdQty
%>     
              <td width="10%" align="center"><%=RS("fnproductid")%></td>
              <td width="40%" align="center"><%=RS("fsproduct")%></td>
              <td width="12%" align="center"><%=RS("fsoriginalprice")%></td>
              <td width="13%" align="center"><%=RS("fnpromoprice")%></td>               
              <input type="hidden" name="fnpromoprice<%=cnt%>" value="<%=Session("fnpromoprice")%>">
              <input type="hidden" name="fntransportid<%=cnt%>" value="<%=Session("fntransportid")%>">       
              <td width="11%" align="center"><%=Session("OrdQty")%></td>
              <td width="14%" align="center"><%=Session("SubTotal")%></td>              
            </tr>
<%
RS.MoveNext
Loop

RS.Close
Set RS=Nothing
%>             
          </center>
    </center>
          <tr>
            <td width="100%" colspan="6">
              <p align="right">總金額:<%=Session("Total")%>元</td>
          </tr>
        </table>
本篇文章回覆於2002-08-20 18:24
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
回應

路人甲
檢舉此回應
找不到你這兩句話在哪
fnpromoprice=Session("fnpromoprice")
promoprice = Split(fnpromoprice, ",")
本篇文章回覆於2002-08-20 23:57
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
6樓
回應

純真的人
檢舉此回應
這段可能有錯~

'計算訂單的總計金額
Total=Total+Session("SubTotal")
%> 
<%
fnpromoprice=RS("fnpromoprice")
fntransportid=RS("fntransportid")
Session("fnpromoprice")=fnpromoprice
Session("fntransportid")=fntransportid

因為我沒深入研究vb~所以我不能說什麼~直覺告訴我那裡可能有錯..
本篇文章回覆於2002-08-21 00:31
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
7樓
回應

大頭蝦
檢舉此回應
OrdQty=Session(RS("fnproductid"))
Session("SubTotal")=RS("fnpromoprice")*OrdQty
Total=Total+Session("SubTotal")
fnpromoprice=RS("fnpromoprice")
fntransportid=RS("fntransportid")
Session("fnpromoprice")=fnpromoprice
Session("fntransportid")=fntransportid
Session("Total")=Total
Session("OrdQty")=OrdQty

ps:錯誤說明
OrdQty 你已經Session囉底下不須再Session囉m。

其他的你Query出來的值就可以直接把他作Session,不須再給其他的變數,這樣Code就不會一拖拉庫了.....^^

還有偶認為計算數值時最好不要用Session來計算,會有一些計算上的問題,最好素計算後再把他Session..........


IF改成這樣呢?素素看

Session("OrdQty") = RS("fnproductid")
Session("SubTotal") = RS("fnpromoprice")*OrdQty
Session("Total") = Total+ RS("fnpromoprice")*OrdQty
Session("fnpromoprice") = RS("fnpromoprice")
Session("fntransportid") = RS("fntransportid")
本篇文章回覆於2002-08-21 01:09
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
8樓
作者回應

小琪琪
檢舉此回應
還是不行哩!!!
到底應該要怎寫哩???
本篇文章回覆於2002-08-21 12:34
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.