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

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

4        系统的设计与实施

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

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

copyright paper51.com

4.1  系统总体设计框架 copyright paper51.com

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

4.1.1  公共库函数 http://www.paper51.com

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

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

DB_ Connect () 连接数据库:

copyright paper51.com

dim oConn

http://www.paper51.com

sub DB_Connect(sDBConnect)

paper51.com

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

        oConn.Open sDBConnect paper51.com

end sub 内容来自www.paper51.com

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

copyright paper51.com

DB_DisConnect() 断开与数据库的连接:

内容来自www.paper51.com

sub DB_DisConnect()

paper51.com

        oConn.Close paper51.com

        Set oConn = Nothing 内容来自论文无忧网 www.paper51.com

end sub

paper51.com

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

DB_RSConnect() 断开RS与数据库的连接:

内容来自www.paper51.com

sub DB_RSConnect(RSobj) copyright paper51.com

        RSobj.Close

内容来自www.paper51.com

        Set RSobj = Nothing

copyright paper51.com

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

4.1.2  公共设置参数 内容来自论文无忧网 www.paper51.com

数据库:

http://www.paper51.com

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

折扣价格: paper51.com

const discountPrice=0.7 http://www.paper51.com

分页显示每页的条目数 : 内容来自论文无忧网 www.paper51.com

const MaxPerPage =5 内容来自论文无忧网 www.paper51.com

存储上载图片的路径 :

http://www.paper51.com

Const sPath_Info = "/img/" copyright paper51.com

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

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

4.2  商品浏览模块

http://www.paper51.com

http://www.paper51.com

图4-1 商品浏览

copyright paper51.com

商品浏览程序要分两步去实现,第一步是初始化,完成从数据库中数据集合的生成,确定完成刘表功能的参数值,第二步就是完成数据的显示。 内容来自论文无忧网 www.paper51.com

快速搜索部分代码:

copyright paper51.com

DimtypeListSQL,tempRS

内容来自www.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)

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

     if not tempRS.eof then http://www.paper51.com

        do while not tempRS.eof

paper51.com

response.write"<optionvalue="""&tempRS(0)&""">"&tempRS(1)&"</option>" copyright paper51.com

    tempRS.movenext

内容来自www.paper51.com

       loop paper51.com

4.3  用户登录模块 paper51.com

http://www.paper51.com

图4-2 用户注册 paper51.com

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

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

2.   要对出错部分进行处理。 内容来自论文无忧网 www.paper51.com

3.   是否可以把公用的功能函数放到一起,以便共享。 内容来自论文无忧网 www.paper51.com

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

paper51.com

图4-3 修改用户资料 内容来自论文无忧网 www.paper51.com

4.4  购物车模块 copyright paper51.com

copyright paper51.com

图4-4 购物车

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

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

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

copyright paper51.com

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

ssbtOk=request("sbtok")

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

sMode=request("imode")

http://www.paper51.com

sItemId=request("itemid")

http://www.paper51.com

sItemNum=request("txtnum") 内容来自www.paper51.com

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

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

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

paper51.com

另外还需要完成的是在每次购物前先打开购物车。购物车里的全部商品都存储在两个Session里:

http://www.paper51.com

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

paper51.com

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

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

        sItemAIndex=ubound(sItemA)

paper51.com

       sItemNumA=split(Session("CartItemNumArray"),"@") http://www.paper51.com

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

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

添加商品代码:           内容来自www.paper51.com

If sMode="add" Then

paper51.com

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

paper51.com

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

http://www.paper51.com

     If sItemId=sItemA(i)Then 内容来自www.paper51.com

       sNowItemAIndex=i 内容来自www.paper51.com

       Exit For paper51.com

      End If

copyright paper51.com

    Next copyright paper51.com

    IfsNowItemAIndex<>"" And sNowItemAIndex>=0 Then '购物车中已经有此类物品 http://www.paper51.com

      sItemNumA(sNowItemAIndex)=sItemNumA(sNowItemAIndex)+sItemNum

http://www.paper51.com

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

       For i=0 to  sItemAindex-1

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

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

paper51.com

       Next       内容来自www.paper51.com

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

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

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

paper51.com

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

    EndIf

内容来自www.paper51.com

   ElseIf cint(sItemAindex)=-1then  '购物车是空车 内容来自www.paper51.com

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

内容来自www.paper51.com

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

copyright paper51.com

   End If  copyright paper51.com

注:在打开购物车后,要向购物车中添加商品。首先查看购物车中是否有商品,如果有商品,再判断是不是有此类商品; 内容来自论文无忧网 www.paper51.com

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

http://www.paper51.com

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

paper51.com

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

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

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