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

一种网上交易平台的设计和实现(论文+程序)

4.2    数据库结构设计

本系统数据库设计表的原则是:“One Fact in One Place”即某个表只包括其本身基本的属性,当不是它们本身所具有的属性时需进行分解。表之间的关系通过外键相连接。它具有以下特点:有一组表专门存放通过键连接起来的关联数据。包含:系统管理员信息(admin)、商品大类(BigClass)、商品信息(Bill)、商品缺货信息(InShort)、代理信息(Member)、非代理购买者信息(NoneMember)、定单信息(Orders)、已出售商品信息(Sold)和商品存货信息(Stock)。具体表项设计如下:

内容来自www.paper51.com

1.     系统管理员信息(admin)(如表1) 内容来自www.paper51.com

表1系统管理员信息(admin) http://www.paper51.com

2.     商品大类(BigClass)(如表2) paper51.com

表2商品大类(BigClass)

内容来自www.paper51.com

3.     商品信息(Bill)(如表3)

http://www.paper51.com

表3商品信息(Bill)

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

http://www.paper51.com

4.     商品缺货信息(InShort)(如表4) paper51.com

表4商品缺货信息(InShort) paper51.com

5.     代理信息(Member)(如表5)

paper51.com

表5代理信息(Member) copyright paper51.com

6.     非代理购买者信息(NoneMember)(如表6)

http://www.paper51.com

表6非代理购买者信息(NoneMember) http://www.paper51.com

7.     定单信息(Orders)(如表7) 内容来自论文无忧网 www.paper51.com

表7定单信息(Orders) http://www.paper51.com

8.     已出售商品信息(Sold)(如表8) copyright paper51.com

表8已出售商品信息(Sold)

内容来自www.paper51.com

9.     商品存货信息(Stock)(如表9)

http://www.paper51.com

表9商品存货信息(Stock)

copyright paper51.com

copyright paper51.com

数据库各表之间的关系(如图2) 内容来自www.paper51.com

图1 数据库各表间的关系 内容来自论文无忧网 www.paper51.com

4.3    数据库连接

copyright paper51.com

该数据库使用的是Access OLE Db驱动程序。据微软表示,Access OLE Db驱动程序的效率比ODBC驱动程序高。 http://www.paper51.com

数据库连接主要代码为:

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

setconn=server.createobject("adodb.connection")                          copyright paper51.com

DBPath =Server.MapPath("./data/data.asa")                               

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

conn.open"provider=microsoft.jet.oledb.4.0;data source=" & dbpath             内容来自论文无忧网 www.paper51.com

5        系统模块设计与分析5.1        系统总体流程

http://www.paper51.com

    系统开发的主要任务是实现点拉的网上交易。本系统包括后台管理模块、代理注册登陆模块及商品交易模块三个模块。总体流程(如图2) 内容来自论文无忧网 www.paper51.com

图2 系统总体流程图

http://www.paper51.com

5.2    后台管理模块 内容来自论文无忧网 www.paper51.com

后台管理模块实现11个功能,包括:添加商品(BillAdd.asp)、类别管理(M_Class.asp)、库存查看(M_Stock.asp)、系统设置(M_admin.asp)、订单管理(M_Order.asp)、缺货信息(M_InShort.asp)、已售商品(M_Sold.asp)、代理审核(M_Reg.asp)、代理查看(M_Agent.asp)、商品管理(M_Bill.asp)、退出系统(M_Exit.asp)。这是后台管理的主体。如图3: 内容来自www.paper51.com

图3后台管理模块 内容来自论文无忧网 www.paper51.com

其中重要的两项功能流程图为: paper51.com

paper51.com

    图4商品添加流程图                          图5库存管理流程图 copyright paper51.com

商品添加的关键代码为: copyright paper51.com

ifnot isNumeric(BigClassID) or not isNumeric(BillID) or CardNo="" orPin="" then                     copyright paper51.com

    EchoMes "商品类别/商品名称/卡号/密码不能为空"                                         

paper51.com

  end if                                商品添加时检查商品信息是否填写完整。 

paper51.com

  if Session("Sql") then                                                                    copyright paper51.com

         Sql="Insert Into Stock(BigClassID,BillID,CardNo,Pin,AddTime,Lock) Values (" & BigClassID&"," & BillID &",'" & CardNo&"','" & Pin &"','" & Now &"',False)"                                内容来自www.paper51.com

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

         Sql="Insert Into Stock(BigClassID,BillID,CardNo,Pin,AddTime,Lock) Values (" & BigClassID&"," & BillID &",'" & CardNo&"','" & Pin &"',Now,False)"                                       内容来自论文无忧网 www.paper51.com

  end if                   判断Session("Sql"),并由判断结果向数据库中插入数据。                                             

http://www.paper51.com

  conn.Execute(Sql)                                                                       内容来自论文无忧网 www.paper51.com

  Response.write "<scriptlanguage=javascript>alert('新卡添加成功');</script>"    

http://www.paper51.com

显示新卡添加成功。 http://www.paper51.com

库存管理关键代码为:

copyright paper51.com

ifisNumeric(ClassID) then                              判断ClassID是否为数字。                           

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

     Sql="Select *from Stock Where BigClassID=" & ClassID                                   http://www.paper51.com

  Else                               从数据库中取出大类ID为ClassID的记录。                                                                 内容来自www.paper51.com

     Sql="Select *from Stock Order By BigClassID,BillID"                                      copyright paper51.com

  end if                                    从数据库Stock表中取出全部记录。  

paper51.com

5.3    代理注册登陆模块

http://www.paper51.com

代理注册登陆模块实现了2个功能:代理注册(AgentSave.asp)和代理登陆(BuyCard.asp)如图6,其流程图如图7及图8。

paper51.com

图6 代理注册登陆模块

paper51.com

   

paper51.com

图7代理注册流程图                        图8代理登陆流程图

paper51.com

代理注册关键代码:

http://www.paper51.com

Sql="Insertinto Member (UserName, [PassWord], Name, IDNumber, Province, City, Tel,Email, TotalMoney,RegTime,RegIp,Ver) Values                                                     

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

Sql=Sql & "('" & UserName& "','" & PassWord & "','" & Name &"','" & IDNumber &"','" & Province &"','" & City & "','" & Tel                                                                    内容来自www.paper51.com

Sql=Sql &"','" & Email & "', 0, Now (),'" & Request ("REMOTE_Addr")&"',False)"                     

http://www.paper51.com

以上代码为添加新的代理信息。

内容来自www.paper51.com

    代理登陆关键代码:

paper51.com

 if AgentName<>"" and AgentPassword<>""then   判断是否输入代理人用户名和密码

内容来自www.paper51.com

       ifNot Session("Member") then                                                          paper51.com

           Sql="Select * fromMember Where UserName='" & AgentName &"' and Password='"& AgentPassword & "' and Ver"                                                                copyright paper51.com

    Else                                                                                内容来自www.paper51.com

             Sql="Select* from Member Where id=" & Session ("MemberID")                         内容来自www.paper51.com

    end if                 判断Session("Member"),以建立适合的数据库查询语言   

http://www.paper51.com

    Set Rs=conn.Execute(Sql)                                                              

内容来自www.paper51.com

    if Rs.eof then                                                                          copyright paper51.com

       EchoMes"错误的用户名/密码或您的申请未通过审核"                                  http://www.paper51.com

    end if                         判断记录集Rs是否为空,为空则显示以上内容                                paper51.com

   Session("Member")=True             假如记录集不为空则登陆成功,用Session 内容来自www.paper51.com

   Session("MemberID")=Rs("ID")                         记录下该用户的信息。                

http://www.paper51.com

 end if                                                                                

copyright paper51.com

5.4    商品交易模块 内容来自论文无忧网 www.paper51.com

商品交易模块实现了3个功能:填写并提交商品交易信息(BugCard.asp)、确认交易信息(BuyCardStep2.asp)和获取商品交易成功(Payend.asp)。如图9。

copyright paper51.com

图9商品交易模块 内容来自论文无忧网 www.paper51.com

填写并提交商品交易信息流程图及交易信息流程图如下: 内容来自论文无忧网 www.paper51.com

图10 填写并提交商品交易信息流程图      图11 确认交易信息流程图

copyright paper51.com

关键代码有:

copyright paper51.com

function Next(form){                                                                      

copyright paper51.com

    if(!checkNull(form.Name,"姓名"))return false;    假如填写姓名为空,变返回false copyright paper51.com

if(!checkNull(form.IDNumber,"身份证"))return false;         内容来自论文无忧网 www.paper51.com

假如填写身份证为空,变返回false

http://www.paper51.com

    if (form.IDNumber.value.length<15|| form.IDNumber.value.length>18) {                        

paper51.com

alert("错误的身份证编号!");        

copyright paper51.com

 假如所填写的身份证少于15位或者多于18位,返回错误             paper51.com

    form.IDNumber.focus();                                                                

paper51.com

    return false;                                                                           http://www.paper51.com

       }                                                                                 

http://www.paper51.com

    if(!checkNull(form.Province,"省价"))return false;            判断是否填写省份                             内容来自论文无忧网 www.paper51.com

    if(!checkNull(form.City,"所在城市"))return false;        判断是否填写所在城市                       内容来自论文无忧网 www.paper51.com

    if(!checkNull(form.tel,"电话"))return false;                 判断是否填写电话                     copyright paper51.com

    if (!(form.Email,"Email")) return false;               判断是否填写电子邮箱地址                 内容来自www.paper51.com

    if(form.Email.value.indexOf("@")<=0) {                                                   http://www.paper51.com

    alert("请输入正确的Email地址");                                                        内容来自论文无忧网 www.paper51.com

    form.Email.focus();                       判断电子邮箱地址的格式是否正确

http://www.paper51.com

       returnfalse;                                                                           

内容来自www.paper51.com

       }                                                                                   内容来自www.paper51.com

form.action="BuyCardStep2.asp";                    表单提交给BuyCardStep2.asp                paper51.com

form.submit();}                                                                            内容来自www.paper51.com

获取商品,交易完成流程图如下:

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

图12 获取商品,交易完成流程图

内容来自www.paper51.com

关键代码如下:

paper51.com

if OrderRs("Over")=True then                                                               内容来自www.paper51.com

         Response.write "<b><fontcolor=#ff0000>错误:</font></b>交易重复处理!"                 paper51.com

         Response.end              判断此次交易是否为重复交易,True则显示错误                        copyright paper51.com

ElseIf OrderRs("AdminPay")=falsethen                                                       paper51.com

         Sql="Update Orders Set Status='处理中' Where OrderNo='" & OrderNo &"'"                   http://www.paper51.com

     Conn.Execute(Sql)       判断数据库中AdminPay值,false则令Status='处理中'                                                      

http://www.paper51.com

ElseIf OrderRs("AdminPay")=Truethen                                                       

http://www.paper51.com

         Sql="Update Orders SetOver=True,Status='交易成功' Where OrderNo='" &OrderNo & "'"        内容来自www.paper51.com

     Conn.Execute(Sql)         

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

判断数据库中AdminPay值,True则Over=True,Status='交易成功'                                             

http://www.paper51.com

End if                                                                                  

内容来自www.paper51.com

6        系统测试 copyright paper51.com

软件设计完成后并不是结束,由于人会因为各种各样的原因而犯各种错误,因此测试成为软件系统开发中重要的一环。测试的内容包括功能测试、性能测试、可用性测试、客户端兼容性测试、安全测试等。

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

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