(2)操作流程图:
(3)数据库结构图:
3 相关文件(仅列举购物篮主要源文件)
(1)conn.asp
一个连接数据库的文件。创建db对象 和打开数据库文件 shop.mdb
(2)index.asp
产品列表文件,统计数据库和显示出数据库里面的产品,并排除数量为0,且按时期降序显示,登陆框。
关键代码:
Dim strSql,rs
strSql ="Select * From product"
Set rs=db.execute(strSql)
(3)cart.asp
购物篮主界面,包括已经订购的产品名称、数量、单价、总价和一个删除连接以及一个修改按钮,还有一个返回继续购物的连接。
关键代码为:
Dim products,productsNum,numTemp,sum
products=Session("products")
productsNum=Session("productsNum")
sum=0
If IsArray(products)=True Then
'这表示它是数组
numTemp=Ubound(products)
Dim I,rs,strSql
'下面逐一显示
For I=0 To numTemp
'需要从product表中返回名称、价格等信息
strSql="Select * From product Where id=" & products(I)
Set rs=db.Execute(strSql)
(4)cart_delete.asp
删除功能调用页面。文件执行后重定向到cart.asp。
关键代码为:
<!-- #include file="function.asp" -->
<%
'调用子程序,添加货物
Call Delproduct(Request.QueryString("productId"))
'重定向到购物篮页面,也可以用Redirect
Server.Transfer "cart.asp"
%>
(5)cart_edit.asp
修改按钮 和 删除链接 功能实现调用页面。文件执行后重定向到cart.asp。
关键代码为:
<!-- #include file="function.asp" -->
<%
'本文件根据在数组中的数序一一修改
Dim products,productsNum,numTemp,I,num
products=Session("products")
productsNum=Session("productsNum")
numTemp=Ubound(productsNum)
For I = 0 To numTemp
num=CInt(Request.Form("num"& I))
Call Updateproduct(products(I),num)
Next
'重定向到购物篮页面
Server.Transfer "cart.asp"
%>
(6)addproduct.asp
添加商品到购物篮 功能实现调用页面。文件执行后重定向到cart.asp。
代码为:<!-- #include file="function.asp" -->
<%
'调用子程序,添加货物
Call Addproduct(Request.QueryString("Id"),1)
'重定向到购物篮页面
Server.Transfer "cart.asp"
%>
(7)function.asp
功能函数文件:包含各个统计函数,添加函数,删除函数。
4 网站运行部分截图:
优、网站建设的总结评价
1、站点立意
师大订餐订餐网是一个基于互联网的B/S模式的网上订餐系统,能为客户提供网络浏览菜品介绍、点菜订餐、餐品、服务评价等服务。客户通过登陆网站进行订餐事务,从而使网站获利。另外,订餐网站中蕴含丰富的营销知识,有许多值得我们去挖掘东西。本次课程设计,由于在技术上我们尚属于初学者,故小组采取分工合作方式进行,充分考虑小组意见后决定以在线订餐作为我们的课题,如此即可在网站开发过程中实践asp相关的课本知识,又可以考虑融入一定营销理念,从而达到跨学科实践学习的效果。
2、技术难点
(1)数据库的设计,犹豫经验的缺乏,导致数据的冗余、不合理。
(2)在线订餐中的“购物车”的技术实现,由于其涉及到Session、cookie对象的使用,而这部分只是于我们较为匮乏,故在这一段程序编写时遇到障碍。
(3)用户登陆验证功能的实现过程中,if语句的使用不合理,导致验证出错。
(4)小组成员的差异,导致一定的合作失效。
(5)硬件设备的性能限制
3、技术体会
在本次课程设计过程中,我可谓收获良多,这将对我以后的学习起到重要作用。下面我将对本次课程设计在技术上的体会作简要说明。
首先,在建立一个网站之前,我们需要具有一些基础知识和技能,其中包括:HTML, Javascript or Vbscript,CSS+DIV,数据库应用,还有一些关于基础美工的知识等。因为在建站的过程中,应用以上技术的地方比比皆是,可以说,如果没有它们,建立动态网站几乎是不可能的。对于HTML,我觉得应多了解其中的含义和较为常见的应用,不应过于深入的研究它的每个标签,每个属性的具体含义,因为这些可以在编程过程中去查阅相关资料(我常常把不懂的代码扔到百度中查!)。对于ASP来说,很多功能的实现都需要大量的编程,也就是说它的模块化程度不高,当然它也有自己的类和功能函数,但缺乏继承,所以有一定局限性,这就需要我们用javascript脚本合作完成,而ASP在脚本交叉上也非常开放,这就为我们在网页程序编写提供了方便。
对于CSS+DIV的运用个人是非常重要的(这也是我比较欠缺的)也是应该养成的一个习惯,因为一个网站的各部分如何搭配,是至关重要的。CSS+DIV构站有一大好处,就是内容与形式的完全分离,这就实现了在不影响内容的情况下,任意修改网站样式,而且避免了很多由于疏忽而造成的内容丢失。
关于数据库,我感觉学到了许多,在课程设计建站之前,我曾查阅了一些关于数据库的书籍,知道在建站前应该先规划好数据库,否则会造成很多弊端。比如在建站过程中突然发现,有一个重要的功能没有加进数据库,但是这时数据库已经相对完整,不能再破坏其完整性了,这是让人非常苦恼的事情,因为再建立数据库,很多原有资料就会丢失,而且会浪费大量的时间和经历,致使无法按期完成任务,或因此留下大的诟病,使整个网站都黯然失色。
最后说一下我对基础美工知识的一些看法,对于一个弄后台的人来说,美工可能不是那么重要,但是我觉得:对于一个动态网站来说,没有一个绝对的后台,也没有一个绝对的前台,否则不能称之为动态ASP站点。所以具有一定美工知识是非常重要的,比如日常PS等等。在建站前的技术方面基本上就这么多。再有一点就是在思文上,不能一有个想法就立刻去实践,因为很多事情需要有周密的设计,预想在编程和文护阶段可能会产生的问题和需要,在建站前一定要尽可能的将这些问题解决。不要等到问题出现了再去想办法,因为往往在这个时候问题已经到了无法解决的地步。所以要养成一个良好的习惯