New Ribbon
用Canva設計超快超質感(第2版):商業設計、簡報、影片、網頁、電子書與AI應用最速技 AI繪圖工具 × AI視覺設計平台,從圖像生成到專業設計! 最強職場助攻!ChatGPT + AI 高效工作術 短影音制霸:打造TikTok、YT Shorts、IG Reels成功方程式與AI高效創作力 Canva+AI創意設計與品牌應用250招:從商業技巧、社群祕技到AI圖文影音特效 快快樂樂學威力導演2024.影音剪輯與AI精彩創作 Power Automate自動化超效率工作術 Midjourney AI圖像魔導書:搭配ChatGPT魔法加倍 超人氣FB+IG+LINE社群經營與行銷力(第二版) 翻倍效率工作術:不會就太可惜的 Excel × ChatGPT 自動化應用 AppInventor2零基礎入門班中文版(第六版) Python零基礎入門班(第四版) C語言學習聖經 用Canva設計超快超質感:平面、網頁、電子書、簡報、影片製作與AI繪圖最速技 PHP8/MySQL網頁程式設計自學聖經 翻倍效率工作術 - 不會就太可惜的Power BI大數據視覺圖表設計與分析(第三版) 社群經營一定要會的影音剪輯與動畫製作術 Notion高效管理250招:筆記×資料庫×團隊協作,數位生活與工作最佳幫手 Office 2021高效實用範例必修16課(附500分鐘影音教學/範例檔) Excel自學聖經(第二版):從完整入門到職場活用的技巧與實例大全

 

  無法加入購物車

咖啡牛奶(真的很急)

咖啡牛奶(真的很急)
更新時間:2008/10/5 上午 12:45:26

 

老師您好:
  我照著挑戰ASP.NET For VB這本書做了一個購物車的子系統,但我有做了一點小修改,就是當使用者在sleep.aspx這一頁中,依照條件選完飯店之後,飯店的資訊會出現在下面的GridView裡,之後使用者就可以點加入購物車將飯店加入購物車裡面,但是每當我按下加入購物車的時候,都會出現[變數名稱 '@cartCustomer' 已經宣告。變數名稱在一個查詢批次或預存程序內必須是唯一的。]的訊息,錯誤的程式碼是在sleep.aspx.vb裡面,其中程式碼如下
------------------------------------------------------------
   Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        Session("cartName") = Session.SessionID
    End Sub
------------------------------------------------------------
    Protected Sub ImageButton1_Click(ByVal sender As Object, ByVal e As System.Web.UI.ImageClickEventArgs)
        Dim ads As New SqlDataSource
        Dim dv As Data.DataView
        ads.ConnectionString = "Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Travel.mdf;Integrated Security=True;User Instance=True"
        dv = ads.Select(New DataSourceSelectArguments)
        Dim i As Integer
        For i = 0 To GridView1.Rows.Count - 1
            ads.InsertCommand = "INSERT INTO [sleepcart] ([cartCustomer], [SleepCounty], [SleepName], [SleepMoney]) VALUES (@cartCustomer, @SleepCounty, @SleepName, @SleepMoney)"
            ads.InsertParameters.Add("cartCustomer", Session("cartName"))
            ads.InsertParameters.Add("SleepCounty", GridView1.Rows(i).Cells(0).Text.ToString)
            ads.InsertParameters.Add("SleepName", GridView1.Rows(i).Cells(1).Text.ToString)
            ads.InsertParameters.Add("SleepMoney", GridView1.Rows(i).Cells(3).Text.ToString)
            ads.Insert()
        Next
        Response.Redirect("~/cartBasket.aspx")
    End Sub
------------------------------------------------------------
上面的程式碼是將sleep.aspx中GridView裡面的飯店資料加到sleepcart這張資料表中,但每次都有問題,我也找不出原因在哪,希望老師能幫幫我,真的很急,拜託您了(檔案也已經寄到老師的email了)

文淵閣工作室

文淵閣工作室
更新時間:2008/10/7 上午 09:02:47

 

SQL SERVER 中處理資料的參數也是一種變數,您將其置於 FOR NEXT 迴圈中,所以產生變數重複宣告的錯誤。請在 sleep.aspx.vb 第 19 列(ads.Insert()之後)加入
ads.InsertParameters.Clear()
以清除變數即可。

咖啡牛奶(真的很急)

咖啡牛奶(真的很急)
更新時間:2008/10/8 上午 12:21:03

 

老師,先謝謝您幫我解決了,但是又出現新問題,加了那一行後,加進去是沒問題了,但變成我按加入飯店之後,我沒選的也全部加進去了,這該怎麼解決呢?

文淵閣工作室

文淵閣工作室
更新時間:2008/10/13 上午 09:31:33

 

1. 將 sleep.aspx 的 <asp:TemplateField> 改為:
<asp:TemplateField ShowHeader="False">
   <ItemTemplate>
       <asp:ImageButton ID="LinkButton1" runat="server" ImageUrl="~/image/shoppingcart.gif"
             CommandName="Select"></asp:ImageButton>
   </ItemTemplate>
</asp:TemplateField>
1. 將 sleep.aspx.vb 的 ImageButton1_Click 改為:
    Protected Sub GridView1_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles GridView1.SelectedIndexChanged
        Dim ads As New SqlDataSource
        Dim dv As Data.DataView
        ads.ConnectionString = "Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Travel.mdf;Integrated Security=True;User Instance=True"
        dv = ads.Select(New DataSourceSelectArguments)
        Dim i As Integer = GridView1.SelectedIndex
        ads.InsertCommand = "INSERT INTO [sleepcart] ([cartCustomer], [SleepCounty], [SleepName], [SleepMoney]) VALUES (@cartCustomer, @SleepCounty, @SleepName, @SleepMoney)"
        ads.InsertParameters.Add("cartCustomer", Session("cartName"))
        ads.InsertParameters.Add("SleepCounty", GridView1.Rows(i).Cells(0).Text.ToString)
        ads.InsertParameters.Add("SleepName", GridView1.Rows(i).Cells(1).Text.ToString)
        ads.InsertParameters.Add("SleepMoney", GridView1.Rows(i).Cells(3).Text.ToString)
        ads.Insert()
        Response.Redirect("~/cartBasket.aspx")
    End Sub




 

 

Re:無法加入購物車

請輸入姓名。

已超出字元數目的最大值。


請輸入電子郵件。

格式無效。


請輸入內容。