只用一个Session解决购物车(2)

80酷酷网    80kuku.com

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

分享到
  • 微信分享
  • 新浪微博
  • QQ好友
  • QQ空间
点击: