在每次循環時item都包含購物車中的實際商品當用戶繼續結賬時需要執行以下操作
在數據庫中創建一個訂單並將它添加到Orders表中
循環遍歷購物車中的商品並將每個商品添加到OrderLines表中
聽起來工作量好像比較大確實也有許多代碼(包括注釋在內大概有行)但實際上很簡單它以第章中介紹的一些數據技巧為基礎雖然沒有詳細介紹但該代碼看起來應該比較熟悉以下代碼顯示了購物車中的實際商品如何被添加到數據庫中
cmdCommandText = INSERT INTO OrderLines(OrderID ProductID Quantity Price) & _
VALUES (@OrderID @ProductID @Quantity @Price)
cmdParametersClear()
cmdParametersAdd(@OrderID DataSqlDbTypeInt)
cmdParametersAdd(@ProductID DataSqlDbTypeInt)
cmdParametersAdd(@Quantity DataSqlDbTypeInt)
cmdParametersAdd(@Price DataSqlDbTypeMoney)
cmdParameters(@OrderID)Value = OrderID
For Each item As CartItem In ProfileCartItems
cmdParameters(@ProductID)Value = itemProductID
cmdParameters(@Quantity)Value = itemQuantity
cmdParameters(@Price)Value = itemPrice
cmdExecuteNonQuery()
Next
so clear the cart
ProfileCartItemsClear()
第一行簡單地設置了用於插入記錄項的SQL語句隨後的幾行創建了一些參數並設置了OrderID對旬cmd是一個SqICommand對象它帶有一個相關的連接在循環過程中每個item的詳細資料都被復制到這些參數的然後再執行查詢每個訂單項都要執行該過程因此每次都要執行這個SQL語句在所有項都被添加到數據庫中之後清空該購物車的Items集合
[] [] [] [] [] [] [] []
From:http://tw.wingwit.com/Article/program/net/201311/14538.html