毕业设计(论文、作业)题目:
毕业设计(论文、作业)
信 达 物 流 网 站 的 开 发
分校(站、点): 上海电大松江分校 年级、专业: 2006秋计算机科学与应用 教育层次: 本 科 学生姓名: 张立新 学 号:
指导教师: 徐 辉 完成日期: 2008年12月
目 录
内容摘要和关键词 …………………………………………………………………Ⅰ Abstract and Key words …………………………………………………………Ⅱ 文献综述 ……………………………………………………………………………Ⅲ 一、引言………………………………………………………………………………1 二、需求分析…………………………………………………………………………1 (一)软硬件需求………………………………………………………………………1 (二)网站流程图 ……………………………………………………………………2 (三)数据库设计 ……………………………………………………………………2 1、数据库概念设计(E-R图) ……………………………………………………2 2、数据库逻辑结构设计(关系表) ………………………………………………3
三、系统设计…………………………………………………………………………5 (一)系统目标 ………………………………………………………………………5 (二)网站功能结构 …………………………………………………………………5 四、详细设计…………………………………………………………………………6 (一)前台首页设计 …………………………………………………………………6 (二)信息查询模块设计 ……………………………………………………………7 1、信息查询模块概述 ………………………………………………………………7 2、运单查询的实现过程 ……………………………………………………………7 3、登录分公司管理的实现过程 ……………………………………………………9 4、运单签收管理的实现过程 ………………………………………………………10 (三)新闻动态模块设计……………………………………………………………12 1、新闻动态模块概述………………………………………………………………12 2、新闻动态模块的实现过程………………………………………………………12 (四)后台首页设计 …………………………………………………………………13 (五)后台登录模块设计……………………………………………………………14 (六)运单管理模块设计……………………………………………………………16 1、运单管理模块概述………………………………………………………………16 2、运单添加的实现过程……………………………………………………………16 3、运单修改的实现过程……………………………………………………………18 4、运单删除的实现过程……………………………………………………………19 (七)分公司管理模块设计…………………………………………………………20 1、分公司管理模块概述……………………………………………………………20 2、分公司管理模块的实现过程……………………………………………………21
五、软件测试 ………………………………………………………………………23 六、系统调试 ………………………………………………………………………24 (一)配置IIS………………………………………………………………………24 (二)前台操作………………………………………………………………………25 (三)后台操作………………………………………………………………………25 参考文献 ……………………………………………………………………………26 致谢 …………………………………………………………………………………27
内容摘要
随着信息技术特别是网络技术的不断发展,国际互联网的全球化热潮使人类社会进入了一个新的信息时代,因此通过网络来获取物流信息已经是信息时代到来必然要发生的结果。所以建立一个物流网络平台对于物流事业有很大的帮助。
本设计在研究和查阅了文献的基础上,系统研究和总结了近年来物流网站建设的发展过程和这些物流网站的主要特点,分析了当前的物流网站所存在的一些主要不足以及未来的发展方向和趋势。在对物流信息平台网络化、系统化、实用化技术的分析和总结的基础上,采用了Microsoft Access 2003作为后台数据库,利用了功能强大的网页开发工具Dreamweaver 8应用程序作为网站的开发软件。
采用了以上的软件以及相关的功能和技术,我们设计出一个具有查询货物发布、新闻发布、登录等功能的前台系统和具有用户管理、货物信息管理和新闻管理的后台系统。通过数据库的连接就构成了我们的物流平台。 关键词:
物流 网络平台 系统
Abstract
With the advance of information technology, especially networking technology the globalization of the international Internet boom makes the human community to a new information age, and therefore accessing to logistics information through the network is imminent arrival of the information age. Therefore, the establishment of a logistics network platform for the logistics industry must be a great help.
The design on the basis of having researched and consulted the literature, has systematically researched and summed up the development process of logistics website building in recent years and theirs main features, has analyzed the current existence of a number of major logistics websites inadequate and the future direction and trends. On the basis of having summed up the logistics information platform for networking, systematic, analytical and practical technology, having used the Microsoft Access 2003 database as a background, and used a powerful Dreamweaver 8 applications as web site development software.
Used these software and related function and technology, we have designed a
registration system that possess functions as demanding cargo information ,news publishing, logging in and so on, and a systems background which possess user management, cargo information management and information management. Our logistics platform is constituted by the linking of database. Key words : Logistics; commodity-interflow platform; System
文献综述
随着现代企业生产经营方式的变革和市场外部条件的变化,正如颜佑启所着的《物流系统规划》阐述的“第三方物流”(3PL,Third Party Logisitics)逐渐成为物流业目前主要的发展趋势。第三方物流,是指一种由与货物有关的发货和收货人之外的专业企业,即第三方物流企业,来承担物流活动的物流形态,承担货主企业部分或全部物流活动。物流中包含的信息既包括伴随物流活动而产生的信息,也包括在物流以外发生的但对物流活动具有影响的信息。为了使得物流系统中各环之间能够相互衔接和高效运转,经济合理地组织送货、降低库存、有效的客户响应等,需要物流系统能够迅速、及时地传递和处理物流信息。因此,构建稳定性好、功能性强、易操作易维护的第三方物流管理信息系统尤其重要。
构建物流管理信息系统的核心是企业网站的开发。网站的开发工具有很多,但是由于活动服务器页面(ASP, Active Server Pages)应用程序支持VBScript、JavaScript等多种脚本语言,可以运行在不同的操作系统平台上,还可以提供ADO对象快速与各种数据库(如Access数据库、SQL Server数据库、MySQL数据库、FoxPro数据库)进行有效的链接,已成为世界上使用最广泛的Web开发工具之一。这在《ASP项目开发全程实录》、《ASP网络编程自学手册》、《ASP网络开发实用工程案例》等文献的中有很好的实例体现。
ASP是服务器端的网页技术,是在服务器端(Web服务器)运行的,而不是在客户端(访问端的浏览器)执行的。当客户请求一个ASP文件时,有服务器先把该文件解释成标准的HTML文件,再发送给客户。这样可以不受客户端浏览器的限制;可以方便地和服务器交换数据。严格来说,ASP并不是一种语言,它只是提供一个环境来运行Script。ASP所用的语言是VBScript、JavaScript,也可以是它们两者的结合。在ASP网页可以包含HTML标记、普通文本、脚本命令
以及COM组件等。
在开发ASP程序时,可以使用的开发工具有记事本、FrontPage、Dreamweaver、Edit Plus、Visual InterDev6.0等,但相比较而言,Dreamweaver在提供强大的网页编辑功能的同时,还提供了完善的站点管理机制,极大地方便了程序员对网站的管理工作。
信达物流信息网站的开发
一、引言
随着经济全球化进程的加快,现代企业的专业分工和协作对现代物流提出了越来越高的要求。信息化、自动化、网络化、智能化、柔性化已成为现代物流的鲜明特征。随着物流行业的发展壮大,物流的信息化日益被从业者和信息系统提供商所重视。同时,现代企业的供应链也时刻提醒我们,若想在激烈的市场竞争中占据绝对优势,必须要求企业及时准确地掌握客户的需求,同时对客户的需求作出快速的反映,在最短的时间内以最大限度挖掘和优化资源来满足客户的需求,从而建立高效的数字化物流经济。
物流行业的人工管理早已不再适应企业发展的要求,利用计算机网络对企业运营流程进行全方位的管理迫在眉睫。通过计算机网络对企业进行管理,不仅为企业的运营过程节省了大量的人力、物力、财力和时间,提高企业的效率,还为企业在客户群中树立了一个全新的形象,为企业日后发展奠定一个良好的基础。
企业物流管理平台使物流企业走上了科学化、网络化管理道路,并且还要遵循经济性与技术性的原则。一方面要全面展示企业的经营管理模式,为企业带来更多的客户资源,提高企业的经济效益。通过计算机网络对运单进行管理,方便客户对货物托运情况进行查询,及时和客户进行沟通,满足客户的需求。另一方面在管理过程中,满足了企业全程跟踪物品的托运情况的要求(分公司及时添加货物的运输情况),使企业能根据实际情况,对企业运营过程中的各项准备工作作出及时准确地调整。
二、需求分析
(一)软硬件需求 1、硬件:
INTEL p4 1.0G 以上; 内存512M以上; 硬盘80G 以上。 2、软件
操作系统WINDOWS 98、2000、xp; 支持IIS;
ACCESS 2000以上。 (二)网站流程图
信达物流信息网是给客户提供物流信息的平台,客户进入网站首页后,可以通过单击网站导航条链接进入站内的各个模块,并对各个模块的信息进行浏览来获取物流行业以及本公司的相关信息;分公司管理员可以在信息查询模块中登录,并实行对运单进行签收等操作;后台管理员在登录后台管理中心后,便可以在后台对前台的各个模块的显示内容进行相应的田径、修改和删除等操作。网站流程图如图1所示:
客户分公司管理员管理员物流网站首页否浏览登录分公司简介是物流服务信息查询新闻动态招聘信息联系我们后台管理中心管理图1网站流程图
(三)数据库设计
Microsoft Access能够满足小型企业客户服务器解决方案的要求,是一种功能较完备的系统,它几乎包含了数据库领域的所有技术和内容。本系统数据库采用Access数据库,系统数据库名称为db_Logistics。数据库db_Logistics中包含7张表,如图2所示。
图2数据表树型结构图
1、数据库概念设计(E-R图)
通过对网站进行的需求分析、网站流程设计以及系统结构的确定,规划出系统中使用的数据库对象分别为“运单”、“新闻”和“分公司管理员”,实体E-R图如下所示: (1)运单实体
运单实体包括运单编号、寄件目的地、出发时间、发送时间、发送情况、审核日期和备注等属性。运单实体E-R图如图3所示:
图3运单实体E-R图
(2)新闻实体
新闻实体包括新闻分类、新闻标题、新闻内容和日期/时间等属性。新闻实体E-R图如图4所示:
图4新闻实体E-R图
(3)分公司管理员实体
分公司管理员实体包括用户名、密码和所属分公司等属性。分公司管理员实体E-R图如图5所示:
图5分公司管理员实体E-R图
2、数据库逻辑结构设计(关系表)
根据在数据库概念设计中给出的数据库实体E-R图,可以设计数据表结构。下面分别给出数据表概要说明、数据表关系概要说明及主要数据表的结构, (1)new (新闻表)
新闻表主要用于保存新闻信息,该表结构如表1所示: 表1 字段名称 id lei title content time 数据类型 自动编号 文本 文本 备注 日期/时间 new的结构表 长度 默认值 允许空 否 是 是 是 是 新闻分类 新闻标题 新闻内容 新闻日期/时间
描述 (2)news (信息表)
信息表主要用于保存各类信息内容,该表结构如表2所示: 表2 字段名称 id title content 数据类型 自动编号 文本 备注 news的结构表 长度 默认值 允许空 否 是 是 发布类型 信息内容
描述 (3)yundan (运单表)
运单表主要用于保存运单信息,该表结构如表3所示: 表3 字段名称 id nid start mudidi ctime qs qstime zhuangtai fgzhuangtai fg fgtime fgqs 数据类型 自动编号 文本 文本 文本 文本 文本 文本 文本 文本 文本 文本 文本 yundan的结构表 长度 默认值 允许空 否 是 是 是 是 是 是 是 是 是 是 是 运单编号 寄件起始地 寄件目的地 出发时间 签收人/未签收原因 签收日期 发送状况 寄件地点 指定分公司派送 到达分公司时间 到达分公司的签收人
描述 /未签收原因 beizhu time 备注 日期/时间 是 是 备注 审核日期 (4)fuser (分公司管理员)
分公司管理员表主要用于保存分公司管理员信息,该表结构如表4所示: 表4 字段名称 id username userpwd fengongsi 数据类型 自动编号 文本 文本 文本 fuser的结构 长度 默认值 否 是 是 是 允许空 用户名 用户密码 所属公司
描述 三、系统设计
(一)系统目标
信达物流信息网是针对中小型物流企业的运营管理过程进行设计的,可以将其分为前台和后台两个部分进行设计。作为一个商业网站,不一定非要用户都进行注册,所以该网站就淡化了用户的注册登录这一功能模块。前台登录网站的访问用户可以匿名进入该网站浏览站内信息,了解本公司和物流行业相公司的相关信息,同时为一些用户提供必要的权限,如客户运单的查询以及分公司管理员对运单的查看、签收等。
后台主要为了保证系统的完整性及可护性,方便管理员对管理员信息、公司简介、仓库服务、运输服务、配送服务、运单管理、新闻管理、招聘信息、分公司管理等模块的管理。 (二)网站功能结构 1、前台功能结构图
信达物流信息网的前台功能结构如图6所示:
物流管理系统前台首页公司简介物流服务信息查询新闻动态招聘信息联系我们里程查询公司新闻行业新闻物流服务运单查询公司简介仓储服务货运服务配送服务运单查询分公司登录公司新闻行业新闻招聘信息联系我们图6信达物流信息网的前台功能结构图
2、后台功能结构图
信达物流信息网的后台功能结构如图7所示:
物流网站后台管理管理员信息公司简介仓储服务运输服务配送服务运单管理新闻管理招聘信息分公司管理联系我们图6信达物流信息网的后台功能结构图
四、详细设计
(一)首页设计
网站前台首页是网站提供给浏览者的第一视觉界面,能够使浏览者在最短的时间内了解网站。在信达物流信息网中,前台首页主要包括以下功能模块。
网站导航:主要包括网站的旗帜广告条、主功能导航两部分。
里程查询模块:主要功能是用于查询两个城市之间的里程。 客服电话模块:主要用于展示客服电话号码。 友情链接模块:主要用于展示相关企业网址。 公司新闻模块:主要用于展示公司最新信息。 行业新闻模块:主要用于展示最新的行业信息。 后台登录入口:为管理员进入后台提供一个入口。
(二)信息查询模块设计 1、信息查询模块概述
信息查询模块主要包括运单查询和分公司管理员登录两个部分,运单查询主要是用于客户或者分公司管理员查询指定的运单信息,了解和掌握运单情况;分公司管理员登录主要用于分公司管理员登录后台,并对站内相关信息进行操作。信息模块的管理框架如图8所示。
图8信息查询模块的管理框架
2、运单查询的实现过程
在信息查询页面如图9所示中,在“请输入运单的编号”文本框中输入正确的运单编号,单击“提交”按钮,即可在页面中显示查询所对应运单的详细信息;若数据库中没有指定的运单编号,则系统给出无信息提示。
图9运单查询
在运单查询页面中,先利用If---Then---Else语句判断是否接到表单值,若表单值不为空,则查询相应表中的数据,获取符合条件的相关信息。代码如下:
<%
'判断接受到的运单编号是否为空 if request(\"nid\")<>\"\"then nid=request(\"nid\") else nid=\"\" end if
'获取记录集,查询符合条件的相关信息
Set Rs = Server.CreateObject(\"ADODB.Recordset\") Sql = \"Select * From yundan where nid='\"&nid&\"'\" Rs.Open Sql,conn,1,1 %>
获取运单信息相关字段内的数据,显示运单信息的结果,如果没有所查询的相关信息给出提示信息。代码如下:
<%if not rs.eof then%>
编号 | 寄件地点 | 目的地 | 出发日期 | 签收人 | 签收日期 | 派送状态 | 备注 |
height=\"22\" bgcolor=\"#FFFFFF\"> align=\"center\"><%= rs(\"nid\") %> | <%= rs(\"start\") %> | <%= rs(\"mudidi\") %> | <%= rs(\"ctime\") %> | <%= rs(\"qs\") %> | <%= rs(\"qstime\") %> | <%= rs(\"zhuangtai\") %> | <%= rs(\"beizhu\") %> |
<%if request(\"nid\")=\"\" then
response.Write(\"
\") else%>
3、登录分公司管理的实现过程
登录分公司管理页面,顾名思义就是分公司管理员的操作页面。登录分公司管理页面主要用于分公司管理员的登录,之后进入分公司管理页面,并可以查看运单的所有详细信息,修改用户密码、签收运单等。
在登录分公司管理页面中,首先接受表单传递的用户名和密码,并判断该用户名和密码与数据表中的数据是否符合;若相符合则进入分公司管理员操作页面,反之则重新登录。代码如下:
<%if request(\"action\")=\"login\" then
username=request(\"username\") userpwd=request(\"userpwd\")
username=trim(request(\"username\")) password=trim(request(\"userpwd\"))
for i=1 to len(username) user=mid(username,i,1)
if user=\"'\" or user=\"%\" or user=\"<\" or user=\">\" or user=\"&\" or user=\"|\" then response.write \"\"
response.end
end if next
for i=1 to len(password) pass=mid(password,i,1)
if pass=\"'\" or pass=\"%\" or pass=\"<\" or pass=\">\" or upass=\"&\" or pass=\"|\" then
response.write \"\"
response.end
end if next%>
<%set rs=server.createobject(\"adodb.recordset\")
sql=\"select * from fuser where username='\"&username&\"' and userpwd='\"&userpwd&\"'\" rs.open sql,conn,1,3 if rs.eof then
response.write \"
else
session(\"username\")=request(\"username\") session(\"loc\")=1
response.Redirect(\"chaxunguan.asp\") end if rs.close set rs=nothing conn.close set conn=nothing
end if%>
4、运单签收管理的实现过程
当货物到达目的地后,由分公司的人员负责签收货物,并在运单签收管理模中签收运单,证明货物安全到达目的地。运单签收时,必须写清签收人以及签收时间,此功能主要是为证明该运单已成功到达分公司,应用If---Then---Else语句来判断运单是否到达分公司,并接受签收人和签收时间,若request(“fgzhuangtai”)<>”到达”,则提示不能提交清单.代码如下:
<%
'判断是否登录
if session(\"username\")=\"\" then
response.Write(\"您还没有登录,请登录\") response.end end if
if request(\"fgzhuangtai\")=\"到达\" then
if request(\"fgqs\")<>\"\" and request(\"fgtime\")<>\"\" then '如果到达判断分公司签
收人和签收时间 是否为空
set rs=server.CreateObject(\"adodb.recordset\") sql=\"select * from yundan where id=\"&request(\"post\") rs.open sql,conn,1,3
rs(\"fgzhuangtai\")=request(\"fgzhuangtai\") rs(\"fgqs\")=request(\"fgqs\") rs(\"fgtime\")=request(\"fgtime\") rs.update
response.Write(\"签收成功,关闭\")
else
response.Write(\"\")
end if else
response.Write(\"\")
end if%>
应用if---then---else语句判断运单是否到达目的地,并获取签收人、签收时间;若request(“zhuangtai”)<>”到达”,则不能提交签单。代码如下:
<%
'判断是否到达
if request(\"zhuangtai\")=\"到达\" then
if request(\"qs\")<>\"\" and request(\"qstime\")<>\"\" then
set rs=server.CreateObject(\"adodb.recordset\") sql=\"select * from yundan where id=\"&request(\"post\") rs.open sql,conn,1,3
rs(\"zhuangtai\")=request(\"zhuangtai\") rs(\"qs\")=request(\"qs\")
rs(\"qstime\")=request(\"qstime\") rs.update
response.Write(\"签收成功,关 闭
else
response.Write(\"\")
end if else
response.Write(\"\")
end if%>
(三)新闻动态模块设计 1、新闻动态模块概述
新闻动态模块主要包括公司新闻和行业新闻两个部分。主要用于展示公司最新信息和最新的行业信息。增加此模块使浏览者获得更多的关于本公司和物流行业的相关信息,既丰富了网站的内容,又与浏览着者建立良好的沟通方式。新闻动态模块的管理框架如图10所示:
图10新闻动态模块的管理框架
2、新闻动态模块的实现过程
当进入新闻动态模块页面时,可以看到公司新闻和行业新闻两个图片按钮,分别用于链接不同的新闻动态信息。
在新闻动态模块中,使用分页技术来显示新闻信息,使用<%=rs(“title”)%>获得新闻主题,并应用indow.open(‘open.asp?id=<%=rs(\"id \")%>’,’’,’scrollbars=yes’)获取该新闻的详细信息。代码如下:
<%if not rs.eof then
tel=rs.recordcount '总共记录数 shum=20
rs.pagesize=shum '每页显示的条数 maxpage=rs.pagecount '总共页数 requestpage=clng(request(\"p\")) '接收页码
if requestpage=\"\" or requestpage=0 then '当前页为空或者为零时 值为1 requestpage=1 end if
'当前页大于最大页码时 当前页等于最大页码 if requestpage>maxpage then requestpage=maxpage end if
'向下移动相应的行数 if not requestpage=1 then
rs.move (requestpage-1)*rs.pagesize
end if
for i=1 to rs.pagesize and not rs.eof%>
llbars=yes,width=300,height=300')\"><%=rs(\"title\")%>
Rs.MoveNext
if rs.eof then exit for next Rs.Close Set Rs=Nothing else
response.Write(\"暂无新闻\")
end if%>
在网站首页中,通过同一页面分别将公司新闻和行业新闻同时显示出来,并按新闻发布时间进行排序。代码如下:
<% '公司新闻
set rs=server.CreateObject(\"adodb.recordset\")
sql=\"Select * from new where lei='公司新闻' order by time desc\" rs.open sql,conn,1,1
'行业新闻
set rs1=server.CreateObject(\"adodb.recordset\")
sql1=\"Select * from new where lei='行业新闻' order by time desc\" rs1.open sql1,conn,1,1%> (四)后台首页设计
后台首页主要包括以下功能模块。
后台登录模块:主要用于管理员登录网站后台。
初始化信息模块:主要包括管理员信息修改和系统名称修改两部分。 公司简介管理模块:主要用于公司简介内容的修改。 仓储服务管理模块:主要用于仓储服务内容的修改。 运输服务管理模块:主要用于运输服务内容的修改。 配送服务管理模块:主要用于配送服务内容的修改。
运单管理模块:主要包括运单查询、运单添加、运单修改、运单删除4部分。 新闻管理模块:主要包括新闻查询、新闻添加、新闻修改、新闻删除4部分。 招聘信息管理模块:主要用于招聘信息内容的修改。
分公司管理模块:主要包括分公司添加、分公司删除、分公司修改、分公司管理员添加、分公司管理员修改(用户名不能修改)、分公司管理员删除、对分公司管理员进行分类查看7部分。
退出后台管理模块:退出后台管理程序。
(五)后台登录模块设计
管理员通过后台登录口进入后台登录模块,后台登录模块主要用于验证管理员的身份和密码。后台登录模块的运行结果如图11所示:
图11后台登录
在后台登录页面中,增加一个验证码功能。首先判断输入的验证码与随机给出的验证码是否一致,然后接受所传递的值,并与数据库中的管理员用户名和密码比较,若与管理员信息相符合则进入后台主页,反之则返回登录页面重新登录。代码如下:
<%
'对输入的验证码进行判断 dim verifycode,verifycode2
verifycode=trim(Request.Form(\"verifycode\")) verifycode2=trim(Request.Form(\"verifycode2\")) if verifycode<>verifycode2 then
response.write\"\" founderr=true
else
session(\"verifycode\")=\"\"%>
其中,使用If…Then…Else语句来判断接受到的数据是否与数据库中的数据相符合,并使用Trim()函数取掉数据两侧的空格,而且过滤一些非法字符。代码如下:
<%
'对输入的用户名和密码分别进行非法字符的过滤 if request(\"action\")=\"login\" then
admin_name=request(\"admin_name\") admin_pass=request(\"admin_pass\")
username=trim(replace(request(\"admin_name\"),\"'\password=trim(replace(request(\"admin_name\"),\"'\for i=1 to len(username) user=mid(username,i,1)
if user=\"'\" or user=\"%\" or user=\"<\" or user=\">\" or user=\"&\" or user=\"|\" then
response.write \"\"
response.end
end if next
for i=1 to len(password) pass=mid(password,i,1)
if pass=\"'\" or pass=\"%\" or pass=\"<\" or pass=\">\" or upass=\"&\" or pass=\"|\" then
response.write \"\"
%>
将传递的数据与数据库中的数据相比较,若没有与之相对应的数据,则提示重新输入;反之,则登录成功,并进入后台主页面。代码如下:
<%
'判断用户是否存在
set rs=server.createobject(\"adodb.recordset\") sql=\"select
*
from
admin
where
admin_name='\"&admin_name&\"'
and
response.end
end if next
admin_pwd='\"&admin_pass&\"'\"
rs.open sql,conn,1,3 if rs.eof then
response.write \"
else
session(\"admin_name\")=request(\"admin_name\") response.Redirect(\"admin.html\")
end if rs.close set rs=nothing conn.close set conn=nothing
end if end if %>
(六)运单管理模块设计 1、运单管理模块概述
运单管理模块主要包括运单查询、运单添加、运单修改、运单删除4部分。主要用于管理员对运单信息的管理,即对运单信息的查询、添加、修改和删除。可以方便管理员了解运单数据,并对其进行有效的管理。运单管理模块的管理框架如图12所示:
图12运单管理模块的管理框架
2、运单添加的实现过程
运单添加主要用于管理员追加新运单信息。运单添加页面主要由两部分组成。即用于收集运单信息的前台表单部分和用于对数据库进行操作的后台处理部分。运行结果如图13所示。
图13运单添加
在添加运单信息时,运单编号是自动生成的,是通过获取当天的日期和产生的运单数量来生成运单编号,如添加运单当天为2008年9月7日,并添加了当天的第一个运单,则该运单编号为200809070001。然后便可以向表单中添加表单的详细数据,代码如下:
<%
'检索当前日期是否有运单
set rs2=server.CreateObject(\"adodb.recordset\")
sql2=\"select * from yundan where time like '\"&date()&\"'\" rs2.open sql2,conn,1,1 if not rs2.eof then
'系统自动生成运单编号
else end if
if request(\"post\")<>\"\" then call writ end if '添加运单信息 function writ
if request(\"start\")<>\"\" and request(\"mudidi\")<>\"\" and request(\"ctime\")<>\"\"
and request(\"beizhu\")<>\"\" then
set rs=server.CreateObject(\"adodb.recordset\") sql=\"select * from yundan\" rs.open sql,conn,1,3 rs.addnew rs(\"nid\")=t
rs(\"start\")=request(\"start\") rs(\"mudidi\")=request(\"mudidi\") rs(\"ctime\")=request(\"ctime\") rs(\"fg\")=request(\"fg\") rs(\"fgzhuangtai\")=\"途中\" rs(\"zhuangtai\")=\"途中\"
rs(\"beizhu\")=request(\"beizhu\") rs(\"time\")=date() rs.update rs.close
response.Write(\"\")
else
response.Write(\"\")
end if
end function%> 3、运单修改的实现过程
运单修改主要用于管理员修改运单信息。运单信息修改页面由两部分用于收集运单信息的前台表单部分和用于对数据库进行操作的后台处理部分组成。运行结果如图14所示。
图14 运单修改页面
在运单修改页面中,利用id=request(\"id\")接收id值,并进行查询相关记录信息,然后将所填写信息一一对应添加到数据表中。代码如下:
<%
set rs1=server.CreateObject(\"adodb.recordset\") sql1=\"select * from yundan where id =\"&request(\"id\") rs1.open sql1,conn,1,1 '进行运单修改
if request(\"post\")<>\"\" then call writ end if function writ
if request(\"start\")<>\"\" and request(\"mudidi\")<>\"\" and request(\"ctime\")<>\"\"
and request(\"beizhu\")<>\"\" then
set rs=server.CreateObject(\"adodb.recordset\") sql=\"select * from yundan where id=\"&request(\"id\") rs.open sql,conn,1,3
rs(\"start\")=request(\"start\") rs(\"mudidi\")=request(\"mudidi\") rs(\"ctime\")=request(\"ctime\") rs(\"fg\")=request(\"fg\")
rs(\"beizhu\")=request(\"beizhu\") rs.update rs.close
response.Write(\"\")
else
response.Write(\"\")
end if
end function %>
4、运单删除的实现过程
运单删除主要用于管理员删除运单信息。在运单删除时,当单击“删除”按钮后会弹出对话框,提示是否确定删除此运单,单击“确定”按钮,将删除已选定的运单。代码如下:
<%
'删除指定的运单 if request(\"del\")<>\"\" then
sql1=\"delete from yundan where id=\"&request(\"del\") conn.execute(sql1) end if
'通过运单编号查询运单详细信息 if request(\"pp\")<>\"\" then
set rs=server.CreateObject(\"adodb.recordset\")
sql=\"select * from yundan where nid='\"&request(\"bianhao\")&\"'\" rs.open sql,conn,1,1
else
'降序排列所有运单
set rs=server.CreateObject(\"adodb.recordset\") sql=\"select * from yundan order by time desc\" rs.open sql,conn,1,1
End If %>
单击“删除”按钮后,弹出删除确定对话框,代码如下: \"xinxi.asp?del=<%=rs(\"id\")%>&p=<%=requestpage%>\" onClike=\"return confirm(‘你确定删除吗?’)\">删除 (七)分公司管理模块设计 1、分公司管理模块概述
分公司管理模块主要包括分公司添加、修改、删除,分公司管理员的添加、修改、删除,分公司管理员信息的显示7部分。主要是用于对分公司及分公司的管理员信息等数据进行管理,便于对分公司信息的规划以及公司整体物流运作的掌控。管理框架如图15所示。
图15分公司管理的管理框架
2、分公司管理的实现过程
在分公司管理页面中,所添加的分公司名称和分公司管理员用户名都将显示在页面下方的分类查看子模块当中,并允许对相关信息进行修改和删除操作。模块运行结果如图16所示。
图16分公司管理模块
分公司管理模块主要包括分公司管理模块和分公司管理员模块两个大部分。其中分公司管理模块包括分公司的添加、修改和删除;代码如下:
<% select case request.form(\"options\")
'当case \"tname\"时添加分公司名称
case \"tname\"
if request(\"tname\")=\"\" then
response.Write(\"\")
else
set rs=server.CreateObject(\"adodb.recordset\") sql=\"select * from fgongsi\" rs.open sql,conn,1,3 rs.addnew
rs(\"fengongsi\")=request.form(\"tname\") rs.update rs.close
response.Write(\"\")
end if
'当case \"gname\"时修改分公司名称 case \"gname\"
if request(\"gname\")=\"\" then
response.Write(\"\")
else
set rs=server.CreateObject(\"adodb.recordset\")
sql=\"select * from fgongsi where id=\"&request(\"select1\") rs.open sql,conn,1,3
rs(\"fengongsi\")=request(\"gname\") rs.update rs.close
response.Write(\"\")
end if
'当case \"del\"时删除分公司名称 case \"del\"
sql=\"delete from fgongsi where id=\"&request(\"select1\") conn.execute(sql)
sql1=\"delete from fuser where fengongsi='\"&request(\"gongsi\")&\"'\"
conn.execute(sql1) response.Write(\"\")
'当case \"user\"时添加用户名 case \"user\"
if request(\"username\")<>\"\" and request(\"userpwd\")<>\"\" then set rs=server.CreateObject(\"adodb.recordset\")
sql=\"select * from fuser where username='\"&request(\"username\")&\"'\"
rs.open sql,conn,1,1 if not rs.eof then
response.Write(\"\")
else
set rs=server.CreateObject(\"adodb.recordset\") sql=\"select * from fuser\" rs.open sql,conn,1,3 rs.addnew
rs(\"username\")=request(\"username\") rs(\"userpwd\")=request(\"userpwd\") rs(\"fengongsi\")=request(\"gongsi\") rs.update rs.close
response.Write(\"\")
end if else
response.Write(\"\")
end if
end select%>
分公司管理员模块包括分公司管理员的添加、修改、删除和显示。 <%if request(\"post\")<>\"\" then
set rs2=server.CreateObject(\"adodb.recordset\") sql2=\"select * from fuser where id=\"&request(\"id\") rs2.open sql2,conn,1,3
'通过update进行修改
rs2(\"username\")=request(\"username\") rs2(\"userpwd\")=request(\"userpwd\") rs2(\"fengongsi\")=request(\"gongsi\") rs2.update rs2.close
response.Write(\"\")
response.End
end if
set rs1=server.CreateObject(\"adodb.recordset\") sql1=\"select * from fuser where id=\"&request(\"id\") rs1.open sql1,conn,1,1%>
五、软件测试
10月20日由本人在对运单签收模块测试中发现,在提交表单后的页面出现错误,经分析原来在接受传递值时,误写为:
sql=\"select * from yundan where id=\"&request(\"id\")
正确的写法应该为:
sql=\"select * from yundan where id=\"&request(\"post\") id=\"&request(\"post\")是将表单中的所有数据全部接收。
10月25日由同学黄平在后台运单添加、删除、分公司管理模块测试时,发现在对数据操作后,无法更新数据库,调试错误类型为“Microsoft JET Database Engine(0x80040E09)不能更新,数据库或对象为只读”。经分析原来在ⅡS权限向导中安全性设置要选择“Secure Web site”,才允许具有windows账户的所有用户查看静态和动态内容。
六、系统调试
完成系统各模块的搭建后,可以运行此系统以查看其效果。系统管理员及分公司管理员用户名和密码分配见表5。
表5
类型 系统管理员 上海总公司 宁波分公司 广州分公司 长春分公司 北京分公司 系统管理员和分公司管理员用户名和密码分配表 用户名 xinda shanghai ningbo guangz changchun beijing 密码 1234 shanghai ningbo guangz changchun beijing 备注 具有完全权限 用户名不能修改 用户名不能修改 用户名不能修改 用户名不能修改 用户名不能修改 南京分公司 (一)配置ⅡS
nanjing nanjing 用户名不能修改 使用ⅡS在Web服务器上创建虚拟目录。假设复制的文件被放在E盘的根目录下,里面的文件则是网站的程序代码文件,即为建立虚拟目录所需要的文件。
首先打开ⅡS,并选择默认站点,选择默认站点之后在右键选择菜单中选择“新建”—“虚拟目录”命令,在虚拟目录向导的界面中,单击“下一步”按钮,在填写虚拟目录的文本框内输入“sheji”,其效果如图17所示
图17“虚拟目录别名”对话框
再单击“下一步”按钮,选择Web文件夹所在的目录。这里为“E:\\sheji”,单击“下一步”按钮,设置访问权限。一般情况下,就使用它的默认设置。再单击“下一步”按钮,虚拟目录就创建完成了,单击“完成”按钮。其效果如图18所示
图18 完成的虚拟目录
(二)前台操作
直接打开IE浏览器,在地址栏内输入index.asp,然后按回车键,开始测试系统。 在按回车键后就会进入到前台首页,如图19所示。单击首页中的各个导航链接,若它们都能正确显示则表明前台系统正确。
图19信达物流信息网主页面
(三)后台操作
在测试系统后台时,可单击首页“管理入口”或在地址栏内输入,按回车键后则进入系统后台,如图20所示。在该页中单击相关管理模块的链接,若都能正确显示就说明测试通过。
图20信达物流信息网后台首页
参考文献:
[1] 前沿电脑图像工作室,《巧学巧用Dreamveaver8/Fireworks8/Flash8制作网页》,人民邮电出版社,2006
[2]张景坤、吕继迪等,《ASP项目开发全程实录》,清华大学出版社,2008 [3]庞娅娟、孙明丽等,《ASP网络编程自学手册》,人民邮电出版社,2008 [4]张旭东、汪杰,《ASP网络开发实用工程案例》,人民邮电出版社,2008 [5]颜佑启、《物流系统规划》,湖南大学出版社,2004
致 谢
这两三个月的毕业设计对我来说是一段难忘的经历,在这段时间中我学到了很多东西,也遇到了很多困难,但幸运的是我获得了许多人的关心和帮助。在此我谨向他们表示最真挚的感谢。
首先,要衷心地感谢我的指导老师徐辉老师,感谢他在我的毕业课题选择、课题设计、论文写作方面耐心细致地指导和帮助;感谢他在我每一次碰到难题时,都能不厌其烦地帮我分析,解决问题。
其次,要感谢我的同学,在每一次交流中,他们都能把自己的学习心得和编程经验开诚布公地与大家一起共享,使我少走了不少弯路。
最后,我要感谢松江电大,在这两年半时间中使我对计算机科学知识有了系统学习和掌握,同时也丰富了我对计算机技术的实践应用能力。
谢谢大家,谢谢每一个曾经帮助过我的人!
因篇幅问题不能全部显示,请点此查看更多更全内容