我把所用的程序都包括在一个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数据库供大家参考。
……