论文无忧网提供:计算机毕业论文范文|计算机毕业设计|计算机毕业论文
栏目导航 ASP Java Web .NET VB6.0 JAVA VC VF DELPHI PB 计算机网络 计算机科学与技术 PHP 安卓APP 其他 C# 代写论文
当前位置: > 计算机 > 计算机科学与技术 >

某书店图书销售管理系统(论文+程序)

4        系统的设计与实施

copyright paper51.com

由于本系统模块较多,主要对购物车和订单管理两个有代表性的模块进行重点讲解。 http://www.paper51.com

4.1  系统总体设计框架

内容来自论文无忧网 www.paper51.com

本系统采用模块化设计,将可以公用的代码提取出,单独形成文件,以方便后面程序设计时调用。其中lib目录存储着整个系统的公共库函数文件,config里存储着整个系统的公共设置参数文件,这两个目录都是整个系统程序必须用到的。Css目录存储着整个系统的格式文件。

http://www.paper51.com

4.1.1  公共库函数 内容来自www.paper51.com

Lib.asp文件中包含了同数据库相关的基本函数: 内容来自www.paper51.com

打开数据库,关闭数据库:打开数据库中的数据集合,关闭数据库中使用的数据集合。字符串处理,数据传递接受函数等。 copyright paper51.com

DB_ Connect () 连接数据库: http://www.paper51.com

dim oConn

http://www.paper51.com

sub DB_Connect(sDBConnect)

copyright paper51.com

            SetoConn = Server.CreateObject("ADODB.Connection") paper51.com

        oConn.Open sDBConnect http://www.paper51.com

end sub copyright paper51.com

DB_Connect()是用来打开数据库的,在ASP中同数据库打交道的主要是ADO。对数据库进行操作处理,首先要建立同数据源的连接,可以利用ADO的Connection来建立同数据库的链接。建立ADODB.Connection对象,使用此对象的Open方法,打开数据库。 内容来自论文无忧网 www.paper51.com

DB_DisConnect() 断开与数据库的连接: 内容来自论文无忧网 www.paper51.com

sub DB_DisConnect()

http://www.paper51.com

        oConn.Close

copyright paper51.com

        Set oConn = Nothing

http://www.paper51.com

end sub

内容来自www.paper51.com

此函数同上述的打开数据库函数相对应,使用Connection对象的关闭数据库的Close方法,并且使用Set方法将此对象从内存中完全清除。

内容来自www.paper51.com

DB_RSConnect() 断开RS与数据库的连接: http://www.paper51.com

sub DB_RSConnect(RSobj) copyright paper51.com

        RSobj.Close

copyright paper51.com

        Set RSobj = Nothing

http://www.paper51.com

end sub 内容来自论文无忧网 www.paper51.com

4.1.2  公共设置参数

paper51.com

数据库: http://www.paper51.com

conststrconn="DSN=shop;uid=elvis;pwd=19841113;database=shop" copyright paper51.com

折扣价格: http://www.paper51.com

const discountPrice=0.7 paper51.com

分页显示每页的条目数 : copyright paper51.com

const MaxPerPage =5

copyright paper51.com

存储上载图片的路径 : http://www.paper51.com

Const sPath_Info = "/img/" http://www.paper51.com

 其中strcon常量是设置数据的,当设好ODBC后应直接修改次参数来完成; 内容来自www.paper51.com

MaxPerPage常量是设置每页显示数据的,默认为5;sPath_Info为上传图片的目录。

内容来自www.paper51.com

4.2  商品浏览模块 http://www.paper51.com

copyright paper51.com

图4-1 商品浏览

内容来自论文无忧网 www.paper51.com

商品浏览程序要分两步去实现,第一步是初始化,完成从数据库中数据集合的生成,确定完成刘表功能的参数值,第二步就是完成数据的显示。

内容来自论文无忧网 www.paper51.com

快速搜索部分代码:

copyright paper51.com

DimtypeListSQL,tempRS

paper51.com

    typeListSQL="selectSt_typeid,St_name from GoodsType where St_fid=0 order by St_sort desc" 内容来自www.paper51.com

    settempRS=oConn.execute(typeListSQl) http://www.paper51.com

     if not tempRS.eof then paper51.com

        do while not tempRS.eof paper51.com

response.write"<optionvalue="""&tempRS(0)&""">"&tempRS(1)&"</option>" 内容来自论文无忧网 www.paper51.com

    tempRS.movenext

http://www.paper51.com

       loop copyright paper51.com

4.3  用户登录模块

copyright paper51.com

内容来自www.paper51.com

图4-2 用户注册 copyright paper51.com

编写程序时要考虑到: paper51.com

1.   用户输入的信息是否正确,是否要求验证; 内容来自论文无忧网 www.paper51.com

2.   要对出错部分进行处理。

copyright paper51.com

3.   是否可以把公用的功能函数放到一起,以便共享。

copyright paper51.com

系统一般使用Session来存储用户的相关信息并与客户端保持联系。前台登录后,以用户存储在数据库中的标识符作为信息记载,并以判断这个值是否为空来判断用户是否登录。 http://www.paper51.com

copyright paper51.com

图4-3 修改用户资料

http://www.paper51.com

4.4  购物车模块 内容来自www.paper51.com

内容来自www.paper51.com

图4-4 购物车 内容来自www.paper51.com

在本系统中它是前台用户端程序中非常关键的一个功能模块,帮助用户完成商品的选购,并把商品交给服务台进行结算。它的功能包括有:将商品添加进购物车,浏览购物车,取消购物车中的商品,编辑购物车中商品的数量,清空购物车。 内容来自www.paper51.com

当用户进入商城后,一旦选购了商品,系统就会为每一个用户分配一辆购物车供用户使用,当用户不断单击商品旁边的购买按钮,系统就会不停帮用户把商品放入到给用户分配的购物车中。对于相同的商品,用户单击多少次就相当于购买该系统的数量为多少。

http://www.paper51.com

购物车主要要实现添加、删除、更新、清空四个功能,实现是靠接收到的4个参数:Ssbtok,sMode,sItemId,sItemNum 实现的。

paper51.com

ssbtOk=request("sbtok") paper51.com

sMode=request("imode") copyright paper51.com

sItemId=request("itemid") http://www.paper51.com

sItemNum=request("txtnum") copyright paper51.com

Ssbtok和sMode是用来接受处理模式的,如果sMode是add, 则不需要再进行处理;如果不是add,就要根据Ssbtok接收到的参数来确定。在系统里设置了4个参数,分别对购物车的4个操作对应。 内容来自www.paper51.com

sItemNum是用来接收商品数量的,直接单击购买后数量为空时,系统默认为1。 内容来自www.paper51.com

sItemId用来接受购买商品的ID。 paper51.com

另外还需要完成的是在每次购物前先打开购物车。购物车里的全部商品都存储在两个Session里: 内容来自论文无忧网 www.paper51.com

Session(“CartItemTypeArray”)存储着商品的种类,每类商品中间使用特殊符号“@”来间隔;

paper51.com

Session(“CartItemNumArray”)存储着商品的数量,每种商品的数量使用同种类相同的符号“@”间隔开,并且这两个是相互对应的,每种商品对应着一个数字。

内容来自www.paper51.com

打开购物车代码:        sItemA=split(Session("CartItemTypeArray"),"@") copyright paper51.com

        sItemAIndex=ubound(sItemA) 内容来自论文无忧网 www.paper51.com

       sItemNumA=split(Session("CartItemNumArray"),"@") 内容来自论文无忧网 www.paper51.com

其中首先使用Split函数把商品种类的Session分成数组,然后使用Ubound取得它的最大项。 copyright paper51.com

添加商品代码:          

http://www.paper51.com

If sMode="add" Then copyright paper51.com

 If sItemAindex>=1 Then    '购物车中已经含有物品

paper51.com

    For i=0 tosItemAindex-1  '查对购物车中是否已经有此物品

copyright paper51.com

     If sItemId=sItemA(i)Then 内容来自论文无忧网 www.paper51.com

       sNowItemAIndex=i copyright paper51.com

       Exit For

copyright paper51.com

      End If

copyright paper51.com

    Next

http://www.paper51.com

    IfsNowItemAIndex<>"" And sNowItemAIndex>=0 Then '购物车中已经有此类物品

http://www.paper51.com

      sItemNumA(sNowItemAIndex)=sItemNumA(sNowItemAIndex)+sItemNum 内容来自www.paper51.com

      Session("CartItemNumArray")="" 内容来自www.paper51.com

       For i=0 to  sItemAindex-1 http://www.paper51.com

Session("CartItemNumArray")=Session("CartItemNumArray")&sItemNumA(i)&"@"

内容来自论文无忧网 www.paper51.com

       Next      

内容来自论文无忧网 www.paper51.com

    ElseifsNowItemAIndex="" Then '购物车中还没有此类物品

内容来自论文无忧网 www.paper51.com

Session("CartItemTypeArray")=Session("CartItemTypeArray")&sItemId&"@"

内容来自论文无忧网 www.paper51.com

Session("CartItemNumArray")=Session("CartItemNumArray")&sItemNum&"@" paper51.com

    EndIf copyright paper51.com

   ElseIf cint(sItemAindex)=-1then  '购物车是空车

copyright paper51.com

    Session("CartItemTypeArray")=sItemId&"@" 内容来自www.paper51.com

    Session("CartItemNumArray")=sItemNum&"@"

内容来自www.paper51.com

   End If 

paper51.com

注:在打开购物车后,要向购物车中添加商品。首先查看购物车中是否有商品,如果有商品,再判断是不是有此类商品;

内容来自论文无忧网 www.paper51.com

1.   如果有此类商品,把存储商品数量的Session打开,找到同种类相对应的项,直接为此类商品数目加1,然后再把存储商品数量的Session打包成字符串; http://www.paper51.com

2.   如果没有此类商品,则直接在存储商品种类和商品数量的Session字符串后面加上种类和数据就可以;

http://www.paper51.com

3.   如果购物车中为空,则直接添加进新的商品种类和商品数量即可。

内容来自www.paper51.com

------分隔线----------------------------
联系方式