首页 基于.NET的火车联网售票系统的设计—免费毕业设计论文

基于.NET的火车联网售票系统的设计—免费毕业设计论文

举报
开通vip

基于.NET的火车联网售票系统的设计—免费毕业设计论文基于.NET的火车联网售票系统的设计—免费毕业设计论文 毕业设计(论文) 基于.NET的火车联网售票系统的设计 论文作者姓名: 申请学位专业: 申请学位类别: 指导教师姓名,职称,: 论文提交日期: 基于.NET的火车联网售票系统的设计 摘 要 基于B/S模式的火车联网售票系统是一个目前非常流行的在线售票系统。该系统的出现大大满足了现今对于火车售票的需要,使原本极为麻烦的售票、购票过程变得方便快捷,从而提高效率并且大大降低了售票员的工作量。 火车联网售票系统主要包括的火车票查询子系统、订票子系...

基于.NET的火车联网售票系统的设计—免费毕业设计论文
基于.NET的火车联网售票系统的设计—免费毕业设计论文 毕业设计(论文) 基于.NET的火车联网售票系统的设计 论文作者姓名: 申请学位专业: 申请学位类别: 指导教师姓名,职称,: 论文提交日期: 基于.NET的火车联网售票系统的设计 摘 要 基于B/S模式的火车联网售票系统是一个目前非常流行的在线售票系统。该系统的出现大大满足了现今对于火车售票的需要,使原本极为麻烦的售票、购票过程变得方便快捷,从而提高效率并且大大降低了售票员的工作量。 火车联网售票系统主要包括的火车票查询子系统、订票子系统等功能系统。它能够实现在线车票查询(包括简单查询、详细查询两个部分),在线订票等功能。其开发主要包括后台数据库的建立管理和前台应用程序的开发这两个方面。程序功能实现后用户将可通过互联网在线查询、订购所需的火车票,并能随时 。 查看自己所订购的车票 本文首先介绍了火车联网售票系统的整体系统构架及Microsoft SQL SERVER 2000数据库的建立,接着详细介绍了各子系统,包括各子系统的功能概述,具体实现,以及数据库相关表设计。 关键词:在线售票;订单;管理 The Design of Train Online Booking System Based on .NET Abstract Online Booking System based on B/S structure is currently a very popular online ticketing system. The system can meet the requirement of the selling train ticketing, make the extremely trouble process of buying train ticket fast and convenient. It improves efficiency and reduces workload of conductor. Train Online Booking System mainly comprise of ticket query, booking subsystem, complete online ticket query (includes simple query, detail query), online booking and so on. The development includes the establishment and management of the background database, and the implementation of application program .The system will allow customers to inquiries and book the train tickets through the Internet. They can inquire about the tickets of their booking at any time. This paper introduces the ticketing system interconnection of the overall system architecture and how to create Microsoft SQL SERVER database being followed by a detailed description of the subsystems, including the subsystems overview, the detail of realization and the related design of table. Key words: online booking ; order ; manage 目 录 论文总页数:21页 1 引言 ..................................................................... 1 1.1 课 快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题 背景 ............................................................. 1 1.2 本课题研究的意义 ..................................................... 1 2 系统概述 ................................................................. 1 2.1 开发目的 ............................................................. 1 2.2 开发环境 ............................................................. 1 2.2.1 硬件环境 ......................................................... 1 2.2.2 软件环境 ......................................................... 1 2.3 软硬件需求 ........................................................... 2 2.3.1 硬件配置要求 ..................................................... 2 2.3.2 软件配置要求 ..................................................... 2 3 数据库设计 ............................................................... 2 3.1 数据库概念模型 ....................................................... 2 3.2 数据库各表设计 ....................................................... 4 3.3 数据库的连接 ......................................................... 6 4 系统总体设计 ............................................................. 7 4.1 用户登录和注册子系统 ................................................. 7 4.1.1 用户登录模块 ..................................................... 7 4.1.2 用户注册模块 ..................................................... 7 4.2 火车票查询子系统 ..................................................... 8 4.2.1 快速查询 ......................................................... 8 4.2.2 详细查询 ......................................................... 8 4.3 订票子系统 ........................................................... 8 4.4 用户管理子系统 ....................................................... 8 4.4.1 用户注册信息的管理 ............................................... 8 4.4.2 订单管理 ......................................................... 8 4.4.3 用户留言模块 ..................................................... 8 4.5 管理员管理子系统 ..................................................... 8 4.5.1 订单信息管理 ..................................................... 8 4.5.2 用户信息管理 ..................................................... 9 4.5.3 车票信息管理 ..................................................... 9 4.5.4 地址信息管理 ..................................................... 9 4.5.5 用户留言管理 ..................................................... 9 4.5.6 发布公告/热门信息模块 ............................................ 9 5 系统具体设计 ............................................................. 9 5.1 用户登录和注册子系统设计 ............................................. 9 5.1.1 功能概述 ......................................................... 9 5.1.2 用户登录和注册子系统的实现 ....................................... 9 5.2 火车票查询子系统设计 ................................................ 10 5.2.1 功能概述 ........................................................ 10 5.2.2 火车票查询子系统的实现 .......................................... 11 5.3 订票子系统设计 ...................................................... 12 5.3.1 功能概述 ........................................................ 12 5.3.2 订票子系统的实现 ................................................ 12 5.4 用户管理子系统设计 .................................................. 14 5.4.1 功能概述 ........................................................ 14 5.4.2 用户管理子系统的实现 ............................................ 15 5.5 管理员管理子系统设计 ................................................ 16 5.5.1 功能概述 ........................................................ 16 5.5.2 管理员管理子系统的实现 .......................................... 17 结 论 .................................................................... 19 参考文献 .................................................................... 19 致 谢 .................................................................... 20 声 明 ..................................................................... 0 1 引言 1.1 课题背景 随着我国经济的高速发展,我国的交通运输能力不断提高,越来越多的国民开始走出家门来到异地进行商务或者旅游等活动。在这一条件下,客流量不断增大。火车售票的管理对于交通运输的正常运行起着至关重要的作用,而随着信息量的逐步增加,繁杂的数据处理费时费力,单纯以人力进行的火车售票已经不适合现状了。 现在的时代是一个信息产业的时代,国家把信息产业作为了增长国民经济重要的一环。在这样的环境下,以先进的信息技术进行火车售票的管理成为了时代发展的必然。 综上所述,开发这样一个火车联网售票系统是相当有必要的。 1.2 本课题研究的意义 火车联网售票系统以计算机为操作工具,把售票的工作人员从繁杂的数据管理以及处理中解放出来,从而增加工作效率,火车联网售票系统把车票的各种信息保存于数据库中,通过计算机可以很方便地对所需要数据进行查询等各种操作,而且这些操作全部由系统内部的代码完成,用户只需要通过该系统友好的界面,输入一些简单的数据便可操作,使用者可以很轻易地学会使用。 2 系统概述 2.1 开发目的 本系统采用B/S模式设计,开发目的除了方便用户可以通过系统查询车票情况,或者对车票进行预定等操作之外,还能让售票员管理火车票信息,相当方便。 2.2 开发环境 本系统是在Windows XP操作系统下,基于Web服务器和浏览器IE6.0及其以上的版本。本系统主要由使用ASP.NET以及HTML开发的页面和由SQL SEVER 2000开发的数据库组成。具体配置如下: 2.2.1 硬件环境 1) CPU:AMD 2500+ 2) 内存:512MB 3) 硬盘:80G 2.2.2 软件环境 1) Windows XP(含IIS ) 2) Microsoft SQL Server 2000 第 1 页 共 21 页 2.3 软硬件需求 为了保证系统运行的效率和可靠性,服务器端应具有较高软硬件配置,客户端的要求不需要很高。此应用程序可广泛运行于Internet,也适用于内部的局域网,在运行本系统前,请检查一下计算机是否满足以下的客户端配置要求: 2.3.1 硬件配置要求 1) CPU:赛扬2.0GHZ以上 2) 内存:256MB以上 3) 硬盘:20G以上 2.3.2 软件配置要求 1) Windows 2000/NT/XP/2003 2) IE6.0 3 数据库设计 3.1 数据库概念模型 E-R(Entity-Relationship Approach)图是最常用的概念模型表示方法,也是数据库的核心和基础,它是按用户的观点来对数据和信息建模,依据概念模型设计应具的特点:真实性、易理解性、易修改性、易转换性,火车联网售票系统的E-R图如下所示。 车票单价 订购数目 订单订单 订票时号 间 用户名 车次 车票编 号 图3.1 订单信息E-R图 管理员帐号 管理员密码 管理员 图3.2 管理员信息E-R图 第 2 页 共 21 页 卧铺/硬座 起点站 单价 到站时间 离站时间 车票 车次 日期 终点站 编号 是否被订 图3.3 车票信息E-R图 到站时间 离站时间 火车线路 车次 编号 车站名 图3.4 火车线路E-R图 用户邮箱 名 姓 用户 地址 密码 身份证 用户名 电话 图3.5 用户信息E-R图 第 3 页 共 21 页 编号 留言 用户名 留言时间 留言内容 图3.6 用户留言E-R图 编号 公告 发表时间 内容 图3.7 公告信息E-R图 3.2 数据库各表设计 火车联网售票系统数据库采用Microsoft SQL SERVER,数据库中的表及其作用如下。 Account:包含用户注册信息,主要有用户名(登录网站用的名字)、登录网站的密码、用户身份证号、用户的姓和名等。如表3-1所示。 AddressMessage:包含火车时刻表信息,即是记录火车从始发站到最后的终点站这一的路线上所经过的每一站和到站时间、离站时间。如表3-2所示。 Admin:包含管理员信息,即管理员帐号和密码。如表3-3所示。 HotMessage_Notice:存放热门信息和公告,记录由管理员发布的公告信息及其他热门信息等。如表3-4所示。 Orders:存放订单信息,主要是订单号、用户所订购火车票的票号、订票的用户名、票单价、用户订购票的数量等。如表3-5所示。 UserLeaveMessage:存放用户留言,即用户对网站的一些建议,想与其他用户之间交换、出售、购买火车票等的信息。如表3-6所示。 TicketDetail:包含火车票信息,主要有车票的票号、是否被订购、车票日期、车票单价、车次、到站时间、离站时间。如表3-7所示。 第 4 页 共 21 页 表3-1 Account 字段名 数据类型 长度 是否允许为空 字段描述 userId varchar 80 否 用户名 email varchar 80 否 用户邮箱 firstName varchar 80 否 姓 lastName varchar 80 否 名 addr varchar 80 否 用户地址 identifyNum varchar 20 否 用户身份证号 phone varchar 80 否 用户电话 passWord varchar 80 否 用户密码 表3-2 AddressMessage 字段名 数据类型 长度 是否允许为空 字段描述 id int 4 否 编号 trainId varchar 20 否 车次 name varchar 20 否 车站名 arriveTime varchar 20 否 到站时间 leaveTime varchar 20 否 离站时间 表3-3 Admin 字段名 数据类型 长度 是否允许为空 字段描述 adminId varchar 80 否 管理员帐号 adminPassWord varchar 80 否 管理员密码 表3-4 HotMessage_Notice 字段名 数据类型 长度 是否允许为空 字段描述 id int 4 否 编号 showTime datetime 8 否 发表时间 content varchar 50 否 内容 表3-5 Orders 字段名 数据类型 长度 是否允许为空 字段描述 orderId int 4 否 订单号 userId varchar 80 否 用户名 ticketId int 4 否 车票编号 ticketUnitPrice money 8 否 车票单价 orderticketNum int 4 否 订购数目 orderTime varchar 20 否 订票时间 trainId varchar 20 否 车次 第 5 页 共 21 页 表3-6 UserLeaveMessage 字段名 数据类型 长度 是否允许空 字段描述 id int 4 否 编号 userId varchar 80 否 用户名 writeTime datetime 8 否 留言时间 content text 16 否 留言内容 表3-7 TicketDetail 字段名 数据类型 长度 是否允许为空 字段描述 ticketId int 4 否 车票编号 orderTicketStatus bit 1 否 是否被订 ticketDay varchar 20 否 车票日期 ticketUnitPrice money 8 否 车票单价 trainId varchar 20 否 车次 sourceAddr varchar 20 否 起点站 destinationAddr varchar 20 否 终点站 arriveTime varchar 20 否 到站时间 leaveTime varchar 20 否 离站时间 seatStatus varchar 20 否 卧铺/硬座 3.3 数据库的连接 1) 为了在移植程序时便于数据库连接,将连接字符串写为一个类,在程序 中调用这个类。 2) 如遇到移植程序需要更改连接字符串时,只需要在类这一处更改就可以 了,极大的减轻了工作量,增强了程序的可移植性。 3) 这个类名为Strconn,代码如下: public class Strconn { public Strconn() { // TODO: 在此处添加构造函数逻辑 } private static string connString = "server=(local);database=TrainSaildb;uid=sa;Pwd=sa"; public static string ConnString { Get { 第 6 页 共 21 页 return connString; } } } 4 系统总体设计 根据火车联网售票系统的逻辑划分,本系统一共分为五个子系统,分别是用户登录和注册子系统,火车票查询子系统,订票子系统,用户管理子系统,管理员管理子系统。其功能结构图如图4.1所示。 火车联网售票系统 用管用火订户理户车票管员登票子理管录查系子理和询统 系子注子统系册系 统子统 系统 图4.1 系统功能结构图 4.1 用户登录和注册子系统 4.1.1 用户登录模块 主要完成用户登录的功能,并将用户名记录入cookie中。如果注册用户想要订购火车票,就必须登录。登录时必须正确添写用户名和密码。如果游客没有注册。登录界面有到注册界面的连接。 4.1.2 用户注册模块 完成用户注册的功能。登录的注册用户和未登录的游客的区别在于登录的注册用户可以浏览首页,查询火车票,订购火车票,管理(查看、修改)自己的注册信息,查看自己的订单信息,可以在网站上留言(例如:用户查询到自己想要的火车票已经售完,就可以在网站上留言,求购此票);而未登录的游客则只能浏览首页,查询火车票,其余的功能都不能用。 第 7 页 共 21 页 4.2 火车票查询子系统 4.2.1 快速查询 主要实现按起点站、终点站来查询车票。在首页有一个快速查询模块,用户无须经过点击连接按钮,转到专门的查询页面再进行查询这样一个麻烦的过程就能得到较为满意的查询结果。 4.2.2 详细查询 主要实现按日期、起点站、终点站、车次、是否是卧铺这五点来查询。虽然有快速查询这样一个方便的查询模块,但其功能不够强大,有时可能不能满足用户的查询要求,这时就需要这样一个功能强大的详细查询模块。 4.3 订票子系统 主要实现将用户选种的车票进行锁定,以及生成定单并显示。这是网站的一个重要功能模块,在显示详细的查询信息页面点击订购按钮后,将转向订单页面,并向之传递用户所订购火车票的信息,然后在订单页面生成订单并显示。 4.4 用户管理子系统 4.4.1 用户注册信息的管理 主要实现用户自己的注册信息的修改。有时用户因为各种情况需要修改自己的注册信息,就可以进入用户管理子系统。点击用户注册管理的子模块,修改自己的注册信息。 4.4.2 订单管理 主要实现查询和删除用户已经下了的订单。 4.4.3 用户留言模块 实现用户留言功能。这是用户与用户之间,用户与管理员之间交流的窗口。用户可以通过它向网站提出建议;与其他用户之间进行信息交流,例如用户查询到自己想要的火车票已经售完,就可以在网站上留言,求购此票,或与其他用户换票等。极大的丰富网站功能,方便了用户。 4.5 管理员管理子系统 4.5.1 订单信息管理 主要实现查询所有的订单以及删除订单的功能。可能会出现一些情况,使管理员需要删除一些用户的某些订单,这个功能模块就是为应对这种情况而作的。 第 8 页 共 21 页 4.5.2 用户信息管理 主要实现查询所有的用户注册信息以及删除功能。一个完善的网站一定会有对用户信息管理,主要是查看删除用户的注册信息。 4.5.3 车票信息管理 主要实现查询所有的车票信息以及对车票信息的修改和删除。可能会出现一些情况使得现有车票不符和实际情况,所以就需要管理员能对车票信息进行修改和删除。 4.5.4 地址信息管理 主要实现查询所有的地址信息以及对地址信息的修改和删除。可能会出现一些情况使得火车到点时刻出现变化,这就需要管理员能对之进行相应的改动。 4.5.5 用户留言管理 主要实现查询所有的用户留言以及对用户留言删除。首先管理员应该能够查看所有的用户的所有留言,这才能发现违反规定的用户留言,为进一步的删除操作做好前提准备。其次用户留言可能会很多,如不及时清除会站用太多的存储空间,所以需要管理员能够对用户留言进行删除。 4.5.6 发布公告/热门信息模块 主要实现管理员对一些信息的发布。这个模块是实现与用户交流的一个窗口。管理员可以通过它发布一些当前的热门车票的信息;发布一些网站公告等。它与用户留言模块一起构成了网站与用户的沟通。 5 系统具体设计 5.1 用户登录和注册子系统设计 5.1.1 功能概述 1) 登录时用户输入自己的用户名和密码,如果少输或输入出错及没有注册,则给出相应的出错信息。 2) 按提示填写注册信息。用验证控件来控制用户是否输入,检验用户输入密码与确认密码是否一致。 5.1.2 用户登录和注册子系统的实现 1) 用户登录和注册主要由Login.aspx和CreateNewAccount.aspx来完成。 2) 当用户进入Login.aspx页面要登录时,先选择登录身份,然后输入用户名和密码就可以了。如果输入错误或少输入了一项或两项则会显示出错信息。 第 9 页 共 21 页 3) 如果要注册帐户,则进入CreateNewAccount.aspx页面,按照页面上的 提示填写注册信息,然后提交。对于用户输入的信息由验证控件来验证。 4) 以下是在Login.aspx页面里实现在cookie中记录用户ID,以便在其他 页面能够对用户是否登录进行验证,从而避免用户在浏览器的地址栏中直接输入 网址,从而跳过身份验证页面进对非法访问。 , 创建cookie的代码如下: HttpCookie newcookie,Manager = new HttpCookie("ManagerCookie"); newcookie,Manager.Values["ManagerID"] = this.username.Text; Response.AppendCookie(newcookie,Manager); , 对管理员是否登录的验证代码: if (Request.Cookies["ManagerCookie"] == null) Response.Redirect("Login.aspx"); , 对用户是否登录的验证代码: if (Request.Cookies["customerCookie"] == null) Response.Redirect("Login.aspx"); 5.2 火车票查询子系统设计 5.2.1 功能概述 1) 快速查询功能是指只输入起点站、终点站,就可查询的一个功能模块。 2) 详细查询功能是指按日期、起点站、终点站、车次、是否是卧铺这五点 的任意组合来查询的一个功能模块。如图5.1所示。 图5.1 详细查询页面截图 第 10 页 共 21 页 5.2.2 火车票查询子系统的实现 查询是由用户控件SimpleSearch.ascx、DetailSearch.aspx和1) SearchResults.aspx三个文件来完成。 2) 当用户登录首页时,会有供选择查询条目的两个下拉框(简单查询),用 户在下拉列表中选择所需的条目,然后点击提交按钮。 当用户需要更详细的查询时,可进入详细查询页面3) (DetailSearch.aspx),其中有包括日期、起点站、终点站、车次、是否是卧铺 这五种查询条件的下拉框,用户可选择这五种查询条件的任意组合,进行查询。 4) 两种查询方式在提交后,都将转向查询结果页面(SearchResults.aspx), 在其中显示查询结果,以便进一步操作。 实现多种查询条件任意组合进行查询的关键是根据不同的组合选用相应5) 的SOL语句,是由SelectIdentify()函数完成实现的,代码如下:(因代码太多, 共有200多行,所以只取其一部分,其余的用省略号代替) protected string SelectIdentify() { if (Session["ticketday"].ToString() != "") { if (Session["sourceaddr"].ToString() != "") { if (Session["destinationaddr"].ToString() != "") { if (Session["trainid"].ToString() != "") { if (Session["seatstatus"].ToString() != "") { return "select trainId,ticketDay,sourceAddr,destinationAddr,arriveTime,leaveTime,sea tStatus,ticketUnitPrice,ticketId from TicketDetail where ticketDay=@ticketday and sourceAddr=@sourceaddr and destinationAddr=@destinationaddr and trainId=@trainid and seatStatus=@seatstatus and orderTicketStatus<>0 and operateStatus<>1"; } else { 第 11 页 共 21 页 return "select trainId,ticketDay,sourceAddr,destinationAddr,arriveTime,leaveTime,sea tStatus,ticketUnitPrice,ticketId from TicketDetail where ticketDay=@ticketday and sourceAddr=@sourceaddr and destinationAddr=@destinationaddr and trainId=@trainid and orderTicketStatus<>0 and operateStatus<>1"; } „„ } } 5.3 订票子系统设计 5.3.1 功能概述 用户在查找到自己所需的票后,点击订购,就会自动生成订单,完成订票功 能。在详细信息页面点击订购,就完成了订购功能,转向订单页面显示。如图 5.2所示。 图5.2 显示订单页面截图 5.3.2 订票子系统的实现 1) 订票的实现主要是由ShowDetail.aspx和Order.aspx两个文件来完成 第 12 页 共 21 页 的。 2) 在显示详细页面(ShowDetail.aspx)中,每一张票都有一个对应的“点 击订购”的按钮,用户点击后会将参数传到Order.aspx页面,在其中生成订单, 并返回显示。 3) 本页主要代码如下: , 将订单信息插入订单表Orders中的代码: SqlCommand cmd = new SqlCommand("upOrdersadd", conn); cmd.CommandType = CommandType.StoredProcedure; SqlDataAdapter da = new SqlDataAdapter(cmd); , 显示自己的定单信息的代码: string sql = "select * from Orders where userId=@userid"; SqlCommand cmd_show = new SqlCommand(sql, conn); HttpCookie cookie = Request.Cookies["customerCookie"]; cmd_show.Parameters.Add("@userid", SqlDbType.VarChar, 80); cmd_show.Parameters["@userid"].Value = cookie.Values["CustomerID"]; DataSet ds_show = new DataSet(); SqlDataAdapter da_show = new SqlDataAdapter(cmd_show); da_show.Fill(ds_show, "Orders"); DataGrid1.DataSource = ds_show.Tables["Orders"].DefaultView; DataGrid1.DataBind(); , 其中"upOrdersadd"是在数据库中先写好的存储过程,代码如下: CREATE PROCEDURE upOrdersadd ( @ticketid int, @userid varchar(80), @ordertime varchar(20) ) AS begin declare @trainid varchar(20) set @trainid=(select trainId from TicketDetail where ticketed =@ticketid) declare @ticketUnitPrice money 第 13 页 共 21 页 set @ticketUnitPrice=(select ticketUnitPrice from TicketDetail where ticketId=@ticketid) declare @identifynum varchar(20) set @identifynum=(select identifyNum from Account where userId=@userid ) insert Orders(trainId,ticketId,ticketUnitPrice,userId,orderticketNum, orderTime,identifyNum) values(@trainid,@ticketid,@ticketUnitPrice,@userid,'1',@ordertim e,@identifynum) select * from Orders end GO 5.4 用户管理子系统设计 5.4.1 功能概述 1) 用户注册信息的管理。用户登录后,进入用户管理页面,点击“修改注册信息”,会在一个DataGrid控件中显示用户注册信息,点击“编辑”就可以实现修改自己的注册信息。 2) 订单信息管理。用户登录后,进入用户管理页面,点击“查看订单信息”就会显示该用户所有的订单信息,方便用户查阅。 3) 用户留言模块。用户登录后,进入用户管理页面,点击“用户留言”就可以输入自己的留言信息,如对网站的一些建议,想与其他用户之间交换、出售、购买火车票的信息。 4) 下面是进入用户管理页面后,再点击“修改注册信息”选项从新刷新后的结果截图。如图5.3所示,用户可以在这个页面修改自己的注册信息。 第 14 页 共 21 页 图5.3 用户管理页面截图 5.4.2 用户管理子系统的实现 1) 用户管理是由UserManage.aspx、UserLeaveMessage.aspx、UserUpdata.aspx、UserShowOrder.aspx四个文件完成的。 2) 具体的工作是由UserLeaveMessage.aspx、UserUpdata.aspx、UserShowOrder.aspx三个文件完成的,UserManage.aspx只是起调度作用。 3) UserLeaveMessage.aspx完成的是用户留言功能。 4) UserUpdata.aspx完成的是用户查询、修改注册信息的功能。 5) UserShowOrder.aspx完成的是显示用户订单的功能。 6) UserManage.aspx中采用的是iframe动态获取网页,实现的主要代码如下: 修改注册信息

查看订单信息

用户留言

第 15 页 共 21 页 5.5 管理员管理子系统设计 5.5.1 功能概述 1) 订单信息管理。管理员可以查看所有的订单信息,拥有删除订单的权限。 2) 用户信息管理。管理员可以查看所有用户的所有信息(密码除外),拥有删除用户帐户的权限。 车票信息管理。管理员可以查看所有的火车车票信息,并可对其进行修3) 改、删除。 4) 地址信息管理。管理员可以查看所有的火车时刻信息,并可对其进行修改、删除。 5) 用户留言管理。主要是管理员可以删除用户留言。 发布公告/热门信息模块。管理员通过这个模块可以发布一些即时信息,6) 网站公告等,用以方便用户。 7) 管理员页面如图5.4所示。刚进入管理员管理页面时会显示提醒你注意操作的提示语,这时可在左侧的列表中选择具体要操作的项目。图5.4所示的是选择了“管理地址信息”选项后所显示的重新刷新后的页面。 图5.4 管理员管理页面截图 第 16 页 共 21 页 5.5.2 管理员管理子系统的实现 管理员管理是有由AdminManage.aspx、1) AdminManage_OrderMessage.aspx、AdminManage_UserMessage.aspx、AdminManage_TicketMessage.aspx、AdminManage_AddressMessage.aspx、HotMessage_Notice.aspx、AdminManage_HotMessage_Notice.aspx、AdminManage_UserLeaveMessage.aspx八个文件组成。 2) 具体的工作是由HotMessage_Notice.aspx、AdminManage_UserMessage.aspx、AdminManage_TicketMessage.aspx、AdminManage_AddressMessage.aspx、AdminManage_UserLeaveMessage.aspx、AdminManage_OrderMessage.aspx、AdminManage_HotMessage_Notice.aspx七个文件完成的,AdminManage.aspx只是起调度作用 3) HotMessage_Notice.aspx完成的是让管理员通过这个模块可以发布一些即时信息,网站公告等的功能。 4) AdminManage_UserMessage.aspx完成的是让管理员通过这个模块管理用户的注册信息(密码除外)和删除用户帐户的功能。 5) AdminManage_TicketMessage.aspx完成的是让管理员通过这个模块查看所有的火车车票信息,并可对其进行修改、删除的功能。 6) AdminManage_AddressMessage.aspx完成的是让管理员通过这个模块查看所有的火车时刻信息,并可对其进行修改、删除功能。 AdminManage_UserLeaveMessage.aspx完成的是让管理员可以通过这个7) 模块删除用户留言的功能。 8) AdminManage_OrderMessage.aspx完成的是让管理员通过这个模块查看所有的订单信息和删除订单的功能。 9) AdminManage.aspx中采用的也是iframe动态获取网页,与UserManage.aspx的实现方法完全相同,就不再叙述了。 10) AdminManage_HotMessage_Notice.aspx完成的是让管理员可以通过这个模块删除自己发布的公告和热门信息的功能。 11) 主要功能代码如下: , 管理员发布一些即时信息,网站公告等的功能的主要代码: string sql = "insert HotMessage_Notice(showTime,content) values(@showtime,@content)"; SqlCommand cmd = new SqlCommand(sql, conn); cmd.Parameters.Add("@showtime", SqlDbType.DateTime); cmd.Parameters["@showtime"].Value = DateTime.Now; ; 第 17 页 共 21 页 cmd.Parameters.Add("@content", SqlDbType.VarChar, 50); cmd.Parameters["@content"].Value = user_message.Text.ToString(); cmd.ExecuteNonQuery(); user_message.Text = null; , 管理员查看所有的火车车票信息,并对其进行删除的功能代码: a) 查看所有的火车车票信息的功能代码: string sql = "select * from TicketDetail"; SqlCommand cmd = new SqlCommand(sql, conn); DataSet ds = new DataSet(); SqlDataAdapter da = new SqlDataAdapter(cmd); da.Fill(ds, "TicketDetail"); DataGrid1.DataSource = ds.Tables["TicketDetail"].DefaultView; DataGrid1.DataBind(); b) 删除火车车票信息的功能代码: string sql = "Delete From TicketDetail where ticketId=@ticketid"; SqlCommand cmd = new SqlCommand(sql, conn); cmd.Parameters.Add("@ticketid", SqlDbType.Int ); cmd.Parameters["@ticketid"].Value = DataGrid1.DataKeys[(int)e.Item.ItemIndex]; cmd.ExecuteNonQuery(); 第 18 页 共 21 页 结 论 通过这三个月的学习和工作,完成了火车联网售票系统的设计,让使用该系统的用户可以通过互联网在线查询、订购所需的火车票,能够满足用户需求。由于设计是基于B/S模式,该系统具有良好的可移植性等优点,并且具有相当 的ASP.NET技术,使不错的应用前景。同时由于该系统使用的是基于.NET和C# 我对该门技术有了更加深入的了解。虽然对该系统在安全性方面作了一些工作,但安全性仍不够高,有待增强。 参考文献 [1].丛书编委员会.ASP.NET与网站开发实践教程[M].北京:清华大学出版社,2005.3。 [2].熊松明.ASP.NET标准教程[M].北京:航空工业出版社,2002.10。 [3].夏普(John Sharp)[美],杰吉(Jon Jagger)[美].Microsoft Visual C,.NET程序设 计[M].北京:北京大学出版社,2002。 [4].王超,张鹏.ASP.NET/XML深入编程技术[M].北京:北京希望电子出版社,2002.1。 [5].武装.C#语言使用手册[M].北京:国防工业出版社,2001.6。 [6].方睿,刁仁宏,吴四九.网络数据库原理及应用[M].成都:四川大学出版社,2005.8。 [7].吉根林,崔海源,顾韵华,彭作民,李存华.ASP.NET程序设计教程[M].北京:电子工 业出版社,2004.8。 第 19 页 共 21 页 致 谢 本文是在闫丽丽老师的热情关心和指导下完成的,她渊博的知识和严谨的治学作风使我受益匪浅,对顺利完成本课题起到了极大的作用。在此向她表示我最衷心的感谢~ 在论文完成过程中,本人还得到了同组同学的热心帮助,本人向他们表示深深的谢意~ 最后向在百忙之中评审本文的各位专家、老师表示衷心的感谢~ 作者简介: 姓 名:黄泽角 性别: 男 出生年月:1984年4月14日 民族:汉 E-mail:chengxiang897@yahoo.com.cn 第 20 页 共 21 页 声 明 本论文的工作是2007年02月至2007年06月在成都信息工程学院网络工程系完成的。文中除了特别加以标注地方外,不包含他人已经发表或撰写过的研究成果,也不包含为获得成都信息工程学院或其他教学机构的学位或证书而使用过的材料。除非另有说明,本文的工作是原始性工作。 关于学位论文使用权和研究成果知识产权的说明: 本人完全了解成都信息工程学院有关保管使用学位论文的规定,其中包括: (1)学校有权保管并向有关部门递交学位论文的原件与复印件。 (2)学校可以采用影印、缩印或其他复制方式保存学位论文。 (3)学校可以学术交流为目的复制、赠送和交换学位论文。 (4)学校可允许学位论文被查阅或借阅。 (5)学校可以公布学位论文的全部或部分内容(保密学位论文在解密后遵守此规定)。 除非另有科研 合同 劳动合同范本免费下载装修合同范本免费下载租赁合同免费下载房屋买卖合同下载劳务合同范本下载 和其他法律文书的制约,本论文的科研成果属于成都信息工程学院。 特此声明~ 毕业设计(论文) 基于.NET的火车联网售票系统的设计 论文作者姓名: 申请学位专业: 申请学位类别: 指导教师姓名,职称,: 论文提交日期: 第 1 页 共 21 页 基于.NET的火车联网售票系统的设计 摘 要 基于B/S模式的火车联网售票系统是一个目前非常流行的在线售票系统。该系统的出现大大满足了现今对于火车售票的需要,使原本极为麻烦的售票、购票过程变得方便快捷,从而提高效率并且大大降低了售票员的工作量。 火车联网售票系统主要包括的火车票查询子系统、订票子系统等功能系统。它能够实现在线车票查询(包括简单查询、详细查询两个部分),在线订票等功能。其开发主要包括后台数据库的建立管理和前台应用程序的开发这两个方面。程序功能实现后用户将可通过互联网在线查询、订购所需的火车票,并能随时 。 查看自己所订购的车票 本文首先介绍了火车联网售票系统的整体系统构架及Microsoft SQL SERVER 2000数据库的建立,接着详细介绍了各子系统,包括各子系统的功能概述,具体实现,以及数据库相关表设计。 关键词:在线售票;订单;管理 The Design of Train Online Booking System Based on .NET Abstract Online Booking System based on B/S structure is currently a very popular online ticketing system. The system can meet the requirement of the selling train ticketing, make the extremely trouble process of buying train ticket fast and convenient. It improves efficiency and reduces workload of conductor. Train Online Booking System mainly comprise of ticket query, booking subsystem, complete online ticket query (includes simple query, detail query), online booking and so on. The development includes the establishment and management of the background database, and the implementation of application program .The system will allow customers to inquiries and book the train tickets through the Internet. They can inquire about the tickets of their booking at any time. This paper introduces the ticketing system interconnection of the overall system architecture and how to create Microsoft SQL SERVER database being followed by a detailed description of the subsystems, including the subsystems overview, the detail of realization and the related design of table. Key words: online booking ; order ; manage 目 录 论文总页数:21页 1 引言 ..................................................................... 1 1.1 课题背景 ............................................................. 1 1.2 本课题研究的意义 ..................................................... 1 2 系统概述 ................................................................. 1 2.1 开发目的 ............................................................. 1 2.2 开发环境 ............................................................. 1 2.2.1 硬件环境 ......................................................... 1 2.2.2 软件环境 ......................................................... 1 2.3 软硬件需求 ........................................................... 2 2.3.1 硬件配置要求 ..................................................... 2 2.3.2 软件配置要求 ..................................................... 2 3 数据库设计 ............................................................... 2 3.1 数据库概念模型 ....................................................... 2 3.2 数据库各表设计 ....................................................... 4 3.3 数据库的连接 ......................................................... 6 4 系统总体设计 ............................................................. 7 4.1 用户登录和注册子系统 ................................................. 7 4.1.1 用户登录模块 ..................................................... 7 4.1.2 用户注册模块 ..................................................... 7 4.2 火车票查询子系统 ..................................................... 8 4.2.1 快速查询 ......................................................... 8 4.2.2 详细查询 ......................................................... 8 4.3 订票子系统 ........................................................... 8 4.4 用户管理子系统 ....................................................... 8 4.4.1 用户注册信息的管理 ............................................... 8 4.4.2 订单管理 ......................................................... 8 4.4.3 用户留言模块 ..................................................... 8 4.5 管理员管理子系统 ..................................................... 8 4.5.1 订单信息管理 ..................................................... 8 4.5.2 用户信息管理 ..................................................... 9 4.5.3 车票信息管理 ..................................................... 9 4.5.4 地址信息管理 ..................................................... 9 4.5.5 用户留言管理 ..................................................... 9 4.5.6 发布公告/热门信息模块 ............................................ 9 5 系统具体设计 ............................................................. 9 5.1 用户登录和注册子系统设计 ............................................. 9 5.1.1 功能概述 ......................................................... 9 5.1.2 用户登录和注册子系统的实现 ....................................... 9 5.2 火车票查询子系统设计 ................................................ 10 5.2.1 功能概述 ........................................................ 10 5.2.2 火车票查询子系统的实现 .......................................... 11 5.3 订票子系统设计 ...................................................... 12 5.3.1 功能概述 ........................................................ 12 5.3.2 订票子系统的实现 ................................................ 12 5.4 用户管理子系统设计 .................................................. 14 5.4.1 功能概述 ........................................................ 14 5.4.2 用户管理子系统的实现 ............................................ 15 5.5 管理员管理子系统设计 ................................................ 16 5.5.1 功能概述 ........................................................ 16 5.5.2 管理员管理子系统的实现 .......................................... 17 结 论 .................................................................... 19 参考文献 .................................................................... 19 致 谢 .................................................................... 20 声 明 ..................................................................... 0 6 引言 6.1 课题背景 随着我国经济的高速发展,我国的交通运输能力不断提高,越来越多的国民开始走出家门来到异地进行商务或者旅游等活动。在这一条件下,客流量不断增大。火车售票的管理对于交通运输的正常运行起着至关重要的作用,而随着信息量的逐步增加,繁杂的数据处理费时费力,单纯以人力进行的火车售票已经不适合现状了。 现在的时代是一个信息产业的时代,国家把信息产业作为了增长国民经济重要的一环。在这样的环境下,以先进的信息技术进行火车售票的管理成为了时代发展的必然。 综上所述,开发这样一个火车联网售票系统是相当有必要的。 6.2 本课题研究的意义 火车联网售票系统以计算机为操作工具,把售票的工作人员从繁杂的数据管理以及处理中解放出来,从而增加工作效率,火车联网售票系统把车票的各种信息保存于数据库中,通过计算机可以很方便地对所需要数据进行查询等各种操作,而且这些操作全部由系统内部的代码完成,用户只需要通过该系统友好的界面,输入一些简单的数据便可操作,使用者可以很轻易地学会使用。 7 系统概述 7.1 开发目的 本系统采用B/S模式设计,开发目的除了方便用户可以通过系统查询车票情况,或者对车票进行预定等操作之外,还能让售票员管理火车票信息,相当方便。 7.2 开发环境 本系统是在Windows XP操作系统下,基于Web服务器和浏览器IE6.0及其以上的版本。本系统主要由使用ASP.NET以及HTML开发的页面和由SQL SEVER 2000开发的数据库组成。具体配置如下: 2.2.3 硬件环境 4) CPU:AMD 2500+ 5) 内存:512MB 6) 硬盘:80G 2.2.4 软件环境 3) Windows XP(含IIS ) 4) Microsoft SQL Server 2000 第 1 页 共 21 页 7.3 软硬件需求 为了保证系统运行的效率和可靠性,服务器端应具有较高软硬件配置,客户端的要求不需要很高。此应用程序可广泛运行于Internet,也适用于内部的局域网,在运行本系统前,请检查一下计算机是否满足以下的客户端配置要求: 2.3.3 硬件配置要求 4) CPU:赛扬2.0GHZ以上 5) 内存:256MB以上 6) 硬盘:20G以上 2.3.4 软件配置要求 3) Windows 2000/NT/XP/2003 4) IE6.0 8 数据库设计 8.1 数据库概念模型 E-R(Entity-Relationship Approach)图是最常用的概念模型表示方法,也是数据库的核心和基础,它是按用户的观点来对数据和信息建模,依据概念模型设计应具的特点:真实性、易理解性、易修改性、易转换性,火车联网售票系统的E-R图如下所示。 车票单价 订购数目 订单订单 订票时号 间 用户名 车次 车票编 号 图3.1 订单信息E-R图 管理员帐号 管理员密码 管理员 图3.2 管理员信息E-R图 第 2 页 共 21 页 卧铺/硬座 起点站 单价 到站时间 离站时间 车票 车次 日期 终点站 编号 是否被订 图3.3 车票信息E-R图 到站时间 离站时间 火车线路 车次 编号 车站名 图3.4 火车线路E-R图 用户邮箱 名 姓 用户 地址 密码 身份证 用户名 电话 图3.5 用户信息E-R图 第 3 页 共 21 页 编号 留言 用户名 留言时间 留言内容 图3.6 用户留言E-R图 编号 公告 发表时间 内容 图3.7 公告信息E-R图 8.2 数据库各表设计 火车联网售票系统数据库采用Microsoft SQL SERVER,数据库中的表及其作用如下。 Account:包含用户注册信息,主要有用户名(登录网站用的名字)、登录网站的密码、用户身份证号、用户的姓和名等。如表3-1所示。 AddressMessage:包含火车时刻表信息,即是记录火车从始发站到最后的终点站这一的路线上所经过的每一站和到站时间、离站时间。如表3-2所示。 Admin:包含管理员信息,即管理员帐号和密码。如表3-3所示。 HotMessage_Notice:存放热门信息和公告,记录由管理员发布的公告信息及其他热门信息等。如表3-4所示。 Orders:存放订单信息,主要是订单号、用户所订购火车票的票号、订票的用户名、票单价、用户订购票的数量等。如表3-5所示。 UserLeaveMessage:存放用户留言,即用户对网站的一些建议,想与其他用户之间交换、出售、购买火车票等的信息。如表3-6所示。 TicketDetail:包含火车票信息,主要有车票的票号、是否被订购、车票日期、车票单价、车次、到站时间、离站时间。如表3-7所示。 第 4 页 共 21 页 表3-1 Account 字段名 数据类型 长度 是否允许为空 字段描述 userId varchar 80 否 用户名 email varchar 80 否 用户邮箱 firstName varchar 80 否 姓 lastName varchar 80 否 名 addr varchar 80 否 用户地址 identifyNum varchar 20 否 用户身份证号 phone varchar 80 否 用户电话 passWord varchar 80 否 用户密码 表3-2 AddressMessage 字段名 数据类型 长度 是否允许为空 字段描述 id int 4 否 编号 trainId varchar 20 否 车次 name varchar 20 否 车站名 arriveTime varchar 20 否 到站时间 leaveTime varchar 20 否 离站时间 表3-3 Admin 字段名 数据类型 长度 是否允许为空 字段描述 adminId varchar 80 否 管理员帐号 adminPassWord varchar 80 否 管理员密码 表3-4 HotMessage_Notice 字段名 数据类型 长度 是否允许为空 字段描述 id int 4 否 编号 showTime datetime 8 否 发表时间 content varchar 50 否 内容 表3-5 Orders 字段名 数据类型 长度 是否允许为空 字段描述 orderId int 4 否 订单号 userId varchar 80 否 用户名 ticketId int 4 否 车票编号 ticketUnitPrice money 8 否 车票单价 orderticketNum int 4 否 订购数目 orderTime varchar 20 否 订票时间 trainId varchar 20 否 车次 第 5 页 共 21 页 表3-6 UserLeaveMessage 字段名 数据类型 长度 是否允许空 字段描述 id int 4 否 编号 userId varchar 80 否 用户名 writeTime datetime 8 否 留言时间 content text 16 否 留言内容 表3-7 TicketDetail 字段名 数据类型 长度 是否允许为空 字段描述 ticketId int 4 否 车票编号 orderTicketStatus bit 1 否 是否被订 ticketDay varchar 20 否 车票日期 ticketUnitPrice money 8 否 车票单价 trainId varchar 20 否 车次 sourceAddr varchar 20 否 起点站 destinationAddr varchar 20 否 终点站 arriveTime varchar 20 否 到站时间 leaveTime varchar 20 否 离站时间 seatStatus varchar 20 否 卧铺/硬座 8.3 数据库的连接 4) 为了在移植程序时便于数据库连接,将连接字符串写为一个类,在程序 中调用这个类。 5) 如遇到移植程序需要更改连接字符串时,只需要在类这一处更改就可以 了,极大的减轻了工作量,增强了程序的可移植性。 6) 这个类名为Strconn,代码如下: public class Strconn { public Strconn() { // TODO: 在此处添加构造函数逻辑 } private static string connString = "server=(local);database=TrainSaildb;uid=sa;Pwd=sa"; public static string ConnString { Get { 第 6 页 共 21 页 return connString; } } } 9 系统总体设计 根据火车联网售票系统的逻辑划分,本系统一共分为五个子系统,分别是用户登录和注册子系统,火车票查询子系统,订票子系统,用户管理子系统,管理员管理子系统。其功能结构图如图4.1所示。 火车联网售票系统 用管用火订户理户车票管员登票子理管录查系子理和询统 系子注子统系册系 统子统 系统 图4.1 系统功能结构图 9.1 用户登录和注册子系统 4.1.3 用户登录模块 主要完成用户登录的功能,并将用户名记录入cookie中。如果注册用户想要订购火车票,就必须登录。登录时必须正确添写用户名和密码。如果游客没有注册。登录界面有到注册界面的连接。 4.1.4 用户注册模块 完成用户注册的功能。登录的注册用户和未登录的游客的区别在于登录的注册用户可以浏览首页,查询火车票,订购火车票,管理(查看、修改)自己的注册信息,查看自己的订单信息,可以在网站上留言(例如:用户查询到自己想要的火车票已经售完,就可以在网站上留言,求购此票);而未登录的游客则只能浏览首页,查询火车票,其余的功能都不能用。 第 7 页 共 21 页 9.2 火车票查询子系统 4.2.3 快速查询 主要实现按起点站、终点站来查询车票。在首页有一个快速查询模块,用户无须经过点击连接按钮,转到专门的查询页面再进行查询这样一个麻烦的过程就能得到较为满意的查询结果。 4.2.4 详细查询 主要实现按日期、起点站、终点站、车次、是否是卧铺这五点来查询。虽然有快速查询这样一个方便的查询模块,但其功能不够强大,有时可能不能满足用户的查询要求,这时就需要这样一个功能强大的详细查询模块。 9.3 订票子系统 主要实现将用户选种的车票进行锁定,以及生成定单并显示。这是网站的一个重要功能模块,在显示详细的查询信息页面点击订购按钮后,将转向订单页面,并向之传递用户所订购火车票的信息,然后在订单页面生成订单并显示。 9.4 用户管理子系统 4.4.4 用户注册信息的管理 主要实现用户自己的注册信息的修改。有时用户因为各种情况需要修改自己的注册信息,就可以进入用户管理子系统。点击用户注册管理的子模块,修改自己的注册信息。 4.4.5 订单管理 主要实现查询和删除用户已经下了的订单。 4.4.6 用户留言模块 实现用户留言功能。这是用户与用户之间,用户与管理员之间交流的窗口。用户可以通过它向网站提出建议;与其他用户之间进行信息交流,例如用户查询到自己想要的火车票已经售完,就可以在网站上留言,求购此票,或与其他用户换票等。极大的丰富网站功能,方便了用户。 9.5 管理员管理子系统 4.5.7 订单信息管理 主要实现查询所有的订单以及删除订单的功能。可能会出现一些情况,使管理员需要删除一些用户的某些订单,这个功能模块就是为应对这种情况而作的。 第 8 页 共 21 页 4.5.8 用户信息管理 主要实现查询所有的用户注册信息以及删除功能。一个完善的网站一定会有对用户信息管理,主要是查看删除用户的注册信息。 4.5.9 车票信息管理 主要实现查询所有的车票信息以及对车票信息的修改和删除。可能会出现一些情况使得现有车票不符和实际情况,所以就需要管理员能对车票信息进行修改和删除。 4.5.10 地址信息管理 主要实现查询所有的地址信息以及对地址信息的修改和删除。可能会出现一些情况使得火车到点时刻出现变化,这就需要管理员能对之进行相应的改动。 4.5.11 用户留言管理 主要实现查询所有的用户留言以及对用户留言删除。首先管理员应该能够查看所有的用户的所有留言,这才能发现违反规定的用户留言,为进一步的删除操作做好前提准备。其次用户留言可能会很多,如不及时清除会站用太多的存储空间,所以需要管理员能够对用户留言进行删除。 4.5.12 发布公告/热门信息模块 主要实现管理员对一些信息的发布。这个模块是实现与用户交流的一个窗口。管理员可以通过它发布一些当前的热门车票的信息;发布一些网站公告等。它与用户留言模块一起构成了网站与用户的沟通。 10 系统具体设计 10.1 用户登录和注册子系统设计 5.1.3 功能概述 3) 登录时用户输入自己的用户名和密码,如果少输或输入出错及没有注册,则给出相应的出错信息。 4) 按提示填写注册信息。用验证控件来控制用户是否输入,检验用户输入密码与确认密码是否一致。 5.1.4 用户登录和注册子系统的实现 5) 用户登录和注册主要由Login.aspx和CreateNewAccount.aspx来完成。 6) 当用户进入Login.aspx页面要登录时,先选择登录身份,然后输入用户名和密码就可以了。如果输入错误或少输入了一项或两项则会显示出错信息。 第 9 页 共 21 页 7) 如果要注册帐户,则进入CreateNewAccount.aspx页面,按照页面上的 提示填写注册信息,然后提交。对于用户输入的信息由验证控件来验证。 8) 以下是在Login.aspx页面里实现在cookie中记录用户ID,以便在其他 页面能够对用户是否登录进行验证,从而避免用户在浏览器的地址栏中直接输入 网址,从而跳过身份验证页面进对非法访问。 , 创建cookie的代码如下: HttpCookie newcookie,Manager = new HttpCookie("ManagerCookie"); newcookie,Manager.Values["ManagerID"] = this.username.Text; Response.AppendCookie(newcookie,Manager); , 对管理员是否登录的验证代码: if (Request.Cookies["ManagerCookie"] == null) Response.Redirect("Login.aspx"); , 对用户是否登录的验证代码: if (Request.Cookies["customerCookie"] == null) Response.Redirect("Login.aspx"); 10.2 火车票查询子系统设计 5.2.3 功能概述 3) 快速查询功能是指只输入起点站、终点站,就可查询的一个功能模块。 4) 详细查询功能是指按日期、起点站、终点站、车次、是否是卧铺这五点 的任意组合来查询的一个功能模块。如图5.1所示。 图5.1 详细查询页面截图 第 10 页 共 21 页 5.2.4 火车票查询子系统的实现 查询是由用户控件SimpleSearch.ascx、DetailSearch.aspx和6) SearchResults.aspx三个文件来完成。 7) 当用户登录首页时,会有供选择查询条目的两个下拉框(简单查询),用 户在下拉列表中选择所需的条目,然后点击提交按钮。 当用户需要更详细的查询时,可进入详细查询页面8) (DetailSearch.aspx),其中有包括日期、起点站、终点站、车次、是否是卧铺 这五种查询条件的下拉框,用户可选择这五种查询条件的任意组合,进行查询。 9) 两种查询方式在提交后,都将转向查询结果页面(SearchResults.aspx), 在其中显示查询结果,以便进一步操作。 实现多种查询条件任意组合进行查询的关键是根据不同的组合选用10) 相应的SOL语句,是由SelectIdentify()函数完成实现的,代码如下:(因代码 太多,共有200多行,所以只取其一部分,其余的用省略号代替) protected string SelectIdentify() { if (Session["ticketday"].ToString() != "") { if (Session["sourceaddr"].ToString() != "") { if (Session["destinationaddr"].ToString() != "") { if (Session["trainid"].ToString() != "") { if (Session["seatstatus"].ToString() != "") { return "select trainId,ticketDay,sourceAddr,destinationAddr,arriveTime,leaveTime,sea tStatus,ticketUnitPrice,ticketId from TicketDetail where ticketDay=@ticketday and sourceAddr=@sourceaddr and destinationAddr=@destinationaddr and trainId=@trainid and seatStatus=@seatstatus and orderTicketStatus<>0 and operateStatus<>1"; } else { 第 11 页 共 21 页 return "select trainId,ticketDay,sourceAddr,destinationAddr,arriveTime,leaveTime,sea tStatus,ticketUnitPrice,ticketId from TicketDetail where ticketDay=@ticketday and sourceAddr=@sourceaddr and destinationAddr=@destinationaddr and trainId=@trainid and orderTicketStatus<>0 and operateStatus<>1"; } „„ } } 10.3 订票子系统设计 5.3.3 功能概述 用户在查找到自己所需的票后,点击订购,就会自动生成订单,完成订票功 能。在详细信息页面点击订购,就完成了订购功能,转向订单页面显示。如图 5.2所示。 图5.2 显示订单页面截图 5.3.4 订票子系统的实现 4) 订票的实现主要是由ShowDetail.aspx和Order.aspx两个文件来完成 第 12 页 共 21 页 的。 5) 在显示详细页面(ShowDetail.aspx)中,每一张票都有一个对应的“点 击订购”的按钮,用户点击后会将参数传到Order.aspx页面,在其中生成订单, 并返回显示。 6) 本页主要代码如下: , 将订单信息插入订单表Orders中的代码: SqlCommand cmd = new SqlCommand("upOrdersadd", conn); cmd.CommandType = CommandType.StoredProcedure; SqlDataAdapter da = new SqlDataAdapter(cmd); , 显示自己的定单信息的代码: string sql = "select * from Orders where userId=@userid"; SqlCommand cmd_show = new SqlCommand(sql, conn); HttpCookie cookie = Request.Cookies["customerCookie"]; cmd_show.Parameters.Add("@userid", SqlDbType.VarChar, 80); cmd_show.Parameters["@userid"].Value = cookie.Values["CustomerID"]; DataSet ds_show = new DataSet(); SqlDataAdapter da_show = new SqlDataAdapter(cmd_show); da_show.Fill(ds_show, "Orders"); DataGrid1.DataSource = ds_show.Tables["Orders"].DefaultView; DataGrid1.DataBind(); , 其中"upOrdersadd"是在数据库中先写好的存储过程,代码如下: CREATE PROCEDURE upOrdersadd ( @ticketid int, @userid varchar(80), @ordertime varchar(20) ) AS begin declare @trainid varchar(20) set @trainid=(select trainId from TicketDetail where ticketed =@ticketid) declare @ticketUnitPrice money 第 13 页 共 21 页 set @ticketUnitPrice=(select ticketUnitPrice from TicketDetail where ticketId=@ticketid) declare @identifynum varchar(20) set @identifynum=(select identifyNum from Account where userId=@userid ) insert Orders(trainId,ticketId,ticketUnitPrice,userId,orderticketNum, orderTime,identifyNum) values(@trainid,@ticketid,@ticketUnitPrice,@userid,'1',@ordertim e,@identifynum) select * from Orders end GO 10.4 用户管理子系统设计 5.4.3 功能概述 5) 用户注册信息的管理。用户登录后,进入用户管理页面,点击“修改注册信息”,会在一个DataGrid控件中显示用户注册信息,点击“编辑”就可以实现修改自己的注册信息。 6) 订单信息管理。用户登录后,进入用户管理页面,点击“查看订单信息”就会显示该用户所有的订单信息,方便用户查阅。 7) 用户留言模块。用户登录后,进入用户管理页面,点击“用户留言”就可以输入自己的留言信息,如对网站的一些建议,想与其他用户之间交换、出售、购买火车票的信息。 8) 下面是进入用户管理页面后,再点击“修改注册信息”选项从新刷新后的结果截图。如图5.3所示,用户可以在这个页面修改自己的注册信息。 第 14 页 共 21 页 图5.3 用户管理页面截图 5.4.4 用户管理子系统的实现 7) 用户管理是由UserManage.aspx、UserLeaveMessage.aspx、UserUpdata.aspx、UserShowOrder.aspx四个文件完成的。 8) 具体的工作是由UserLeaveMessage.aspx、UserUpdata.aspx、UserShowOrder.aspx三个文件完成的,UserManage.aspx只是起调度作用。 9) UserLeaveMessage.aspx完成的是用户留言功能。 10) UserUpdata.aspx完成的是用户查询、修改注册信息的功能。 11) UserShowOrder.aspx完成的是显示用户订单的功能。 12) UserManage.aspx中采用的是iframe动态获取网页,实现的主要代码如下: 修改注册信息

查看订单信息

用户留言

第 15 页 共 21 页 10.5 管理员管理子系统设计 5.5.3 功能概述 8) 订单信息管理。管理员可以查看所有的订单信息,拥有删除订单的权限。 9) 用户信息管理。管理员可以查看所有用户的所有信息(密码除外),拥有删除用户帐户的权限。 车票信息管理。管理员可以查看所有的火车车票信息,并可对其进10) 行修改、删除。 11) 地址信息管理。管理员可以查看所有的火车时刻信息,并可对其进行修改、删除。 12) 用户留言管理。主要是管理员可以删除用户留言。 发布公告/热门信息模块。管理员通过这个模块可以发布一些即时信13) 息,网站公告等,用以方便用户。 14) 管理员页面如图5.4所示。刚进入管理员管理页面时会显示提醒你注意操作的提示语,这时可在左侧的列表中选择具体要操作的项目。图5.4所示的是选择了“管理地址信息”选项后所显示的重新刷新后的页面。 图5.4 管理员管理页面截图 第 16 页 共 21 页 5.5.4 管理员管理子系统的实现 管理员管理是有由AdminManage.aspx、12) AdminManage_OrderMessage.aspx、AdminManage_UserMessage.aspx、AdminManage_TicketMessage.aspx、AdminManage_AddressMessage.aspx、HotMessage_Notice.aspx、AdminManage_HotMessage_Notice.aspx、AdminManage_UserLeaveMessage.aspx八个文件组成。 13) 具体的工作是由HotMessage_Notice.aspx、AdminManage_UserMessage.aspx、AdminManage_TicketMessage.aspx、AdminManage_AddressMessage.aspx、AdminManage_UserLeaveMessage.aspx、AdminManage_OrderMessage.aspx、AdminManage_HotMessage_Notice.aspx七个文件完成的,AdminManage.aspx只是起调度作用 14) HotMessage_Notice.aspx完成的是让管理员通过这个模块可以发布一些即时信息,网站公告等的功能。 15) AdminManage_UserMessage.aspx完成的是让管理员通过这个模块管理用户的注册信息(密码除外)和删除用户帐户的功能。 16) AdminManage_TicketMessage.aspx完成的是让管理员通过这个模块查看所有的火车车票信息,并可对其进行修改、删除的功能。 17) AdminManage_AddressMessage.aspx完成的是让管理员通过这个模块查看所有的火车时刻信息,并可对其进行修改、删除功能。 18) AdminManage_UserLeaveMessage.aspx完成的是让管理员可以通过这个模块删除用户留言的功能。 19) AdminManage_OrderMessage.aspx完成的是让管理员通过这个模块查看所有的订单信息和删除订单的功能。 20) AdminManage.aspx中采用的也是iframe动态获取网页,与UserManage.aspx的实现方法完全相同,就不再叙述了。 21) AdminManage_HotMessage_Notice.aspx完成的是让管理员可以通过这个模块删除自己发布的公告和热门信息的功能。 22) 主要功能代码如下: , 管理员发布一些即时信息,网站公告等的功能的主要代码: string sql = "insert HotMessage_Notice(showTime,content) values(@showtime,@content)"; SqlCommand cmd = new SqlCommand(sql, conn); cmd.Parameters.Add("@showtime", SqlDbType.DateTime); cmd.Parameters["@showtime"].Value = DateTime.Now; ; 第 17 页 共 21 页 cmd.Parameters.Add("@content", SqlDbType.VarChar, 50); cmd.Parameters["@content"].Value = user_message.Text.ToString(); cmd.ExecuteNonQuery(); user_message.Text = null; , 管理员查看所有的火车车票信息,并对其进行删除的功能代码: c) 查看所有的火车车票信息的功能代码: string sql = "select * from TicketDetail"; SqlCommand cmd = new SqlCommand(sql, conn); DataSet ds = new DataSet(); SqlDataAdapter da = new SqlDataAdapter(cmd); da.Fill(ds, "TicketDetail"); DataGrid1.DataSource = ds.Tables["TicketDetail"].DefaultView; DataGrid1.DataBind(); d) 删除火车车票信息的功能代码: string sql = "Delete From TicketDetail where ticketId=@ticketid"; SqlCommand cmd = new SqlCommand(sql, conn); cmd.Parameters.Add("@ticketid", SqlDbType.Int ); cmd.Parameters["@ticketid"].Value = DataGrid1.DataKeys[(int)e.Item.ItemIndex]; cmd.ExecuteNonQuery(); 第 18 页 共 21 页 结 论 通过这三个月的学习和工作,完成了火车联网售票系统的设计,让使用该系统的用户可以通过互联网在线查询、订购所需的火车票,能够满足用户需求。由于设计是基于B/S模式,该系统具有良好的可移植性等优点,并且具有相当 的ASP.NET技术,使不错的应用前景。同时由于该系统使用的是基于.NET和C# 我对该门技术有了更加深入的了解。虽然对该系统在安全性方面作了一些工作,但安全性仍不够高,有待增强。 参考文献 [8].丛书编委员会.ASP.NET与网站开发实践教程[M].北京:清华大学出版社,2005.3。 [9].熊松明.ASP.NET标准教程[M].北京:航空工业出版社,2002.10。 [10]. 夏普(John Sharp)[美],杰吉(Jon Jagger)[美].Microsoft Visual C,.NET 程序设计[M].北京:北京大学出版社,2002。 [11]. 王超,张鹏.ASP.NET/XML深入编程技术[M].北京:北京希望电子出版社, 2002.1。 [12]. 武装.C#语言使用手册[M].北京:国防工业出版社,2001.6。 [13]. 方睿,刁仁宏,吴四九.网络数据库原理及应用[M].成都:四川大学出版社, 2005.8。 [14]. 吉根林,崔海源,顾韵华,彭作民,李存华.ASP.NET程序设计教程[M].北 京:电子工业出版社,2004.8。 第 19 页 共 21 页 致 谢 本文是在闫丽丽老师的热情关心和指导下完成的,她渊博的知识和严谨的治学作风使我受益匪浅,对顺利完成本课题起到了极大的作用。在此向她表示我最衷心的感谢~ 在论文完成过程中,本人还得到了同组同学的热心帮助,本人向他们表示深深的谢意~ 最后向在百忙之中评审本文的各位专家、老师表示衷心的感谢~ 作者简介: 姓 名:黄泽角 性别: 男 出生年月:1984年4月14日 民族:汉 E-mail:chengxiang897@yahoo.com.cn 第 20 页 共 21 页 声 明 本论文的工作是2007年02月至2007年06月在成都信息工程学院网络工程系完成的。文中除了特别加以标注地方外,不包含他人已经发表或撰写过的研究成果,也不包含为获得成都信息工程学院或其他教学机构的学位或证书而使用过的材料。除非另有说明,本文的工作是原始性工作。 关于学位论文使用权和研究成果知识产权的说明: 本人完全了解成都信息工程学院有关保管使用学位论文的规定,其中包括: (1)学校有权保管并向有关部门递交学位论文的原件与复印件。 (2)学校可以采用影印、缩印或其他复制方式保存学位论文。 (3)学校可以学术交流为目的复制、赠送和交换学位论文。 (4)学校可允许学位论文被查阅或借阅。 (5)学校可以公布学位论文的全部或部分内容(保密学位论文在解密后遵守此规定)。 除非另有科研合同和其他法律文书的制约,本论文的科研成果属于成都信息工程学院。 特此声明~ 作者签名: 2007年06月 日 第 21 页 共 21 页 第 22 页 共 21 页 第 23 页 共 21 页 第 24 页 共 21 页 第 25 页 共 21 页 第 26 页 共 21 页 第 27 页 共 21 页 第 28 页 共 21 页 第 29 页 共 21 页 第 30 页 共 21 页 第 31 页 共 21 页
本文档为【基于&#46;NET的火车联网售票系统的设计—免费毕业设计论文】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_477730
暂无简介~
格式:doc
大小:259KB
软件:Word
页数:59
分类:工学
上传时间:2018-04-05
浏览量:25