我把所用的程序都包括在一個VBSCRIPT類當中。它包括3個函數:addItem(), deleteItem() 和deleteAll(),以及一個公有過程:displayCart()。前兩個函數addItem()和deleteItem()都只有一個參數,就是待添加或刪除的商品,這個參數可以是商品名(字符串),也可以是數據庫中與其對應的商品ID號。deleteAll()函數的作用是清空購物車。過程displayCart()的參數可以是"list"或"option",它決定是以列表形式還是以下拉框形式顯示購物車信息。
這個VBSCRIPT類還包括兩個私有函數ReadFromDB() 和 RegExpItem(),供addItem() 和 deleteItem()調用。
用商品ID號做參數要比商品名要方便的多,因此我們在addItem() or deleteItem()函數中使用商品ID號作參數,在這兩個函數中我們把ID號傳遞給ReadFromDB()函數,由ReadFromDB()函數從數據庫中把商品名讀出來。因為不打算在其它函數中調用ReadFromDB(),所以我們把ReadFromDB()聲明為私有函數。同樣的,下面要講到的RegExpItem()也是一個私有函數。
The ReadFromDB() 函數
下面讓我們來看看 ReadFromDB()函數:
Private Function ReadFromDB(argItem) dim objConn, objRS dim strSQL
strSQL="SELECT ProductName FROM tblProducts WHERE ProductID="&argItem
set objConn=Server.CreateObject("ADOdb.Connection") objConn.Open "File Name=D:\Inetpub\WWWroot\shoppingcarts\shoppingcarts.udl"
set objRS=objConn.Execute(strSQL) ReadFromDB=objRS("ProductName")
objRS.close set objRS=nothing objConn.Close set objConn=nothing
End Function
這個函數的作用首先建立一個數據庫連接,然后讀取數據庫,最后返回參數(商品ID號)對應的商品名稱。這篇文章附帶了一個含有十種商品的ACCESS數據庫供大家參考。
|