634522397毕业设计(论文)基于BS结构的火车站售票管理系统

上传人:仙*** 文档编号:33090987 上传时间:2021-10-16 格式:DOC 页数:51 大小:405.50KB
收藏 版权申诉 举报 下载
634522397毕业设计(论文)基于BS结构的火车站售票管理系统_第1页
第1页 / 共51页
634522397毕业设计(论文)基于BS结构的火车站售票管理系统_第2页
第2页 / 共51页
634522397毕业设计(论文)基于BS结构的火车站售票管理系统_第3页
第3页 / 共51页
资源描述:

《634522397毕业设计(论文)基于BS结构的火车站售票管理系统》由会员分享,可在线阅读,更多相关《634522397毕业设计(论文)基于BS结构的火车站售票管理系统(51页珍藏版)》请在装配图网上搜索。

1、 吉林大学毕业论文 I火车站售票管理系统摘 要火车站售票系统是一个基于 B/S 构架的系统。系统的开发和应用目的是使售票活动能够在多个不同的地点(除火车站外)进行并且能够使旅客通过系统查询到自己所需要的出行信息。本论文围绕如何实现基于 B/S 结构的客票系统展开讨论,通过对现有 C/S 结构的售票系统与 B/S 结构的优缺点进行比较 ,给出基于 B/S 结构售票系统的具体解决方案:查询,买票,订票,退票,新闻管理,用户管理等六大模块,并研究 B/S 结构在网络中面临的安全问题及提出相应的解决方案。在软件的结构设计中侧重售票系统主要功能的设计与实现。本论文的研究内容还涉及现有客车售票系统中常用的

2、算法设计,对如何将 B/S 结构的售票系统与车票打印机连接起来也做了简要介绍。 本论文关于客票系统的研究分为以下几个章节 :第一章:绪论;第二章:B/S 模式与开发平台介绍;第三章:需求分析;第四章:系统总体设计与数据库设计;第五章:系统的具体实现细节;第六章:结论等。关键字:B/S 结构,售票,铁路 吉林大学毕业论文 IITheThe ticketstickets exchangeexchange systemsystem ofof railwayrailway stationstationAuthor:Xiaowei WuTutor:Shuyang SunAbstractThe syste

3、m which the station sells the ticket is a system that base on the frame of the B/S. The purpose in exploitation and appliance of the system is to make the activity of selling the tickets at many different location(except the train station)and make the traveller inquire about the information of going

4、 out by the system. This paper give a solution of tickets selling through comparing the C/S structure with the B/S structure.It also researches the problems of safe which B/S structure faces.It features the main function of the system.This paper also researches the common arithmetics of the sell sys

5、tem which is now using .And also it gives a brief introduction of how to connect this system with printer.This paper have 6 parts. The chapter 1: introduction something about tickets system of train ;The chapter 2:the introduction of b/s structure;The chapter 3: request 吉林大学毕业论文 IIIanalyze; The chap

6、ter 4: the collectivity design of system;The chapter 5:introduction the details of design;The chapter 6: conclusion and onKeyword:B/S structure,tickets exchange,railway 吉林大学毕业论文 IV目目 录录第 1 章 绪论.11.1 铁路信息化的现状及目标.11.2 铁路售票系统的现状.21.3 文章概要.2第 2 章 B/S 模式和开发平台 .32.1 B/S 模式介绍.32.1.1 关于 B/S(浏览器/服务器)模式 .32.2

7、 开发工具介绍 .32.2.1 关于 SQLServer2000 .32.2.2 关于.NET.32.2.3 关于 ASP.NET .43.1 查询功能需求 .63.2 售票功能需求 .63. 3 退票功能需求 .63. 4 订票功能需求 .63. 5 新闻功能需求 .63. 6 留言功能需求 .73. 7 用户管理功能需求 .73.8 注册功能需求 .83.9 性能需求 .83.9.1 系统的准确性和及时性.83.9.2 系统的开放性和可扩展性.83.9.3 系统的易用性和易维护性.93.10 数据需求 .93.10.1 数据录入和处理的准确性.93.10.2 数据的一致性和完整性.9 吉林

8、大学毕业论文 V3.10.3 数据的共享与独立性.94.1 系统总体设计.114.1.1 设计目标.114.1.2 设计原则.114.1.3 功能设计.114.2 系统功能模块设计 .124.2.1 注册模块.124.2.2 登录模块.124.2.3 售票模块.134.2.4 订票模块.134.2.5 退票模块.134.2.6 查询模块.134.2.7 个人资料模块.144.2.8 留言板模块.144.2.9 用户管理模块.144.2.10 车次刷新模块.144.2.11 销售统计模块.144.3 数据库设计 .154.3.1 用户表 .154.3.2 车次详细信息表.154.3.3 普通列车

9、价格表 .164.3.4 普通列车卧铺价格表 .164.3.5 空调列车价格表 .174.3.6 空调列车卧铺价格表 .174.3.7 订票纪录表 .184.3.8 留言信息表 .194.3.9 新闻信息表 .204.3.10 客车售票系统 E-R 图.215.1 登陆模块.235.1.1 实现原理 .235.1.2 关键代码 .23 吉林大学毕业论文 VI5.2 注册模块.255.2.1 实现原理 .255.2.2 Button_queding_Click 事件(提交事件) .255.3 系统主界面.265.4 售票模块.275.4.1 实现原理 .275.4.2 绑定车次代码 .285.4

10、.3 价格计算原理及代码.295.5 订票模块.335.6 退票模块.335.7 查询模块.335.7.1 查询模块关键代码 .345.9 站内新闻模块.375.10 意见反馈模块.385.11 用户管理模块.395.12 管理用户模块.395.13 查询剩余票模块.405.14 更新车次模块.415.15 新闻公告管理模块.425.16 留言管理模块.425.17 销售统计模块.43结论.44致谢.45参考文献.45 吉林大学毕业论文 第 1 页吉林大学计算机科学与技术学院第 1 章 绪论1.1 铁路信息化的现状及目标用信息化推动工业化,用信息技术改造传统产业,这是我国迫切要完成的一项战略性

11、任务。作为工业文明的产物铁路,如何借助信息技术的帮助,实现管理方式,运营组织,服务标准的现代化,这是摆在我国铁路工作者面前的重大课题。铁路信息化是铁路现代化的重要标志,其根本目的是将信息技术应用到铁路生产经营与管理决策等各项活动中,改造传统产业,提高铁路生产率,提高市场竞争力,提高铁路运营经济效益。国内外已有运作合理完善的火车售票管理系统,其具有售票、查询、管理和维护等功能,系统管理员可以进行对车次的更改、票价的变动及调度功能,票价的修改可以通过修改运价来进行,车次调度可通过对发车时刻表的修改来进行,维护功能即可对表进行修改。满足当前火车售票管理的需求,并且运作十分良好。铁路信息化建设目前主要

12、集中在搞好铁路运输生产管理上,加快计算机调度系统建设,完善客票发售与预订系统,搞好各地信息系统的结合,实现资源有效利用,信息共享。其总体目标是:形成具有国际水平的铁路信息化基础通信平台,实现各部门各系统之间的信息数据共享,互联互通;建成车,机,工,电,辆各部门调度控制,安全生产,运输指挥的现代化保障体系。为铁路运输各部门提供所需的管理信息资源和强有力的决策支持。通过现代客货营销手段和电子商务手段,带动铁路运输经济发展,大幅度提高运输效益。建立建全与信息化相适应的管理体制。我国目前的铁路信息化总体程度居国内领先,国际先进水平。 吉林大学毕业论文 第 2 页吉林大学计算机科学与技术学院1.2 铁路

13、售票系统的现状 铁路客票发售和预订系统经过几年的建设,取得了很大的进展。火车售票系统的推广使用,大大方便了旅客购票,也预示着我国铁路售票系统正日趋合理与完善,并且具有良好的交互界面,容易被用户所接受。本系统为了解决售票大厅拥挤和团体集中购票的问题,提高铁路客运的售票效率及为旅客提供更多的便捷服务,本系统利用计算机网络,通过网络或代售点售票系统,使得售票服务更为便捷效率,使铁路售票系统应用更为广泛,使得铁路售票业务,铁路客运及运输发展更为稳定,迅猛。1.3 文章概要全文分为六章: 第一章:绪论 介绍我国目前铁路信息化的有关背景和 B/S 结构铁路售票系统在铁路信息化中的特点及优势。第二章: B/

14、S 模式和开发工具 介绍 B/S 结构。本系统所选则开发平台是 2000,数据库用的是 sqlserver2000。 第三章:需求分析 分析了该系统的功能需求,提出了火车站售票系统的总体设计方案。 第四章: 售票系统设计 针对火车售票系统业务的数据结构,数据管理特点进行数据库设计,系统总体设计。 第五章:售票系统的实现 详细介绍售票系统中每个功能模块如何实现,主要代码的思想及功 吉林大学毕业论文 第 3 页吉林大学计算机科学与技术学院能。第 2 章 B/S 模式和开发平台2.1 B/S 模式介绍2.1.1 关于 B/S(浏览器/服务器)模式B/S 结构即浏览器和服务器结构。它是随着Intern

15、et 技术的兴起,对 C/S 结构的一种变化或者改进的结构。它是一次性到位的开发,能实现不同的人员,从不同的地点,以不同的接入方式(比如LAN, WAN, Internet/Intranet 等)访问和操作共同的数据库;它能有效地保护数据平台和管理访问权限,服务器数据库也很安全。在JAVA 这样的跨平台语言出现之后, B/S 架构管理软件更是方便、快捷、高效。2.2 开发工具介绍伴随着 Internet/Intranet 技术的发展,开发基于 Web 的应用程序势在必行,数据库技术更是需要和 Web 数据相结合,才是更为广阔的前景。ASP.Net 作为微软推出的新兴 Web 应用程序开发技术,

16、在数据库应用方面发挥着越来越重要的作用。 本系统的开发平台是 ASP.NET2000,数据库选择用的 SQLServer2000。2.2.1 关于 SQLServer2000 SQL Server 2000 是 Microsoft 公司推出的 SQL Server 数据库管理系统的最新版本。该版本继承了 SQL Server 7.0 版本的优点同时又比它增加了许多更先进的功能,具有使用方便,可伸缩性好与相关软件集成程度高等优点,可跨越从运行 Microsoft Windows 98 的膝上型电脑到运 吉林大学毕业论文 第 4 页吉林大学计算机科学与技术学院行 Microsoft Windows

17、 2000 的大型多处理器的服务器等多种平台使用。2.2.2 关于.NET.NET 是 Microsoft XML Web services 平台。XML Web services 允许应用程序通过 Internet 进行通讯和共享数据,而不管所采用的是哪种操作系统、设备或编程语言。Microsoft .NET 平台提供创建 XML Web services 并将这些服务集成在一起之所需。对个人用户的好处是无缝的、吸引人的体验。而且.NET 平台的基础架构.NET 框架(Framework),采用统一的命令集支持各种编程语言。从而消除各种异类框架之间的差异,提供强的跨语言继承性、错误处理和调试

18、功能2.2.3 关于 ASP.NETASP.net 是把基于通用语言的程序在服务器上运行。不像以前的 ASP即时解释程序,而是将程序在服务器端首次运行时进行编译,这样的执行效果,当然比一条一条的解释强很多。因为 ASP.net 是基于通用语言的编译运行的程序,所以它的强大性和适应性,可以使它运行在 Web 应用软件开发者的几乎全部的平台上(笔者到现在为止只知道它只能用在 Windows 2000/2003 Server 上) 。通用语言的基本库,消息机制,数据接口的处理都能无缝的整合到ASP.net 的 Web 应用中。ASP.net 同时也是 language-independent 语言独

19、立化的,所以,你可以选择一种最适合你的语言来编写你的程序,或者把你的程序用很多种语言来写,现在已经支持的有 C#(C+和 Java 的结合体) ,VB,Jscript。将来,这样的多种程序语言协同工作的能力保护您现在的基于 COM+开发的程序,能够完整的移植向 ASP.net。ASP.net 使运行一些很平常的任务如表单的提交客户端的身份验证、分布系统和网站配置变得非常简单。ASP.net 使用一种字符基础的,分级的配置系统,使你服务器环境和 吉林大学毕业论文 第 5 页吉林大学计算机科学与技术学院应用程序的设置更加简单。因为配置信息都保存在简单文本中,新的设置有可能都不需要启动本地的管理员工

20、具就可以实现。这种被称为Zero Local Administration的哲学观念使 A 的基于应用的开发更加具体,和快捷。一个 ASP.net 的应用程序在一台服务器系统的安装只需要简单的拷贝一些必须的文件,不需要系统的重新启动,一切就是这么简单。多处理器环境的可靠性 ASP.net 已经被刻意设计成为一种可以用于多处理器的开发工具,它在多处理器的环境下用特殊的无缝连接技术,将很大的提高运行速度。即使你现在的 ASP.net 应用软件是为一个处理器开发的,将来多处理器运行时不需要任何改变都能提高他们的效能,但现在的 ASP 却做不到这一点。自定义性和可扩展性 ASP.net 设计时考虑了让

21、网站开发人员可以在自己的代码中自己定义plug-in的模块。这与原来的包含关系不同,ASP.net 可以加入自己定义的如何组件。网站程序的开发从来没有这么简单过。安全性基于 Windows 认证技术和每应用程序配置,你可以确保你的原程序是绝对安全的。 ASP.NET 的语法在很大程度上与 ASP 兼容,同时它还提供一种新的编程模型和结构,可生成伸缩性和稳定性更好的应用程序,并提供更好的安全保护。可以通过在现有 ASP 应用程序中逐渐添加 ASP.NET 功能,随时增强 ASP 应用程序的功能。 ASP.NET 是一个已编译的、基于 .NET 的环境,把基于通用语言的程序在服务器上运行。将程序在

22、服务器端首次运行时进行编译,比ASP 即时解释程序速度上要快很多.而且是可以用任何与 .NET 兼容的语言(包括 Visual Basic .NET、C# 和 JScript .NET.)创作应用程序。 吉林大学毕业论文 第 6 页吉林大学计算机科学与技术学院第 3 章 需求分析 该系统是利用 ASP.NET2000 平台开发,数据库采用的是SQLSever2000,旨在开发一个具有开放体系结构的、易扩充的、易维护的、具有良好人机交互界面的火车售票系统,为用户提供满意的火车票销售服务。3.1 查询功能需求查询功能要能满足至少两种方式的查询:按车次查询,按站点查询。如果查询出来满足条件的车次后,

23、用户可以直接点击购买。查询出来的信息里面应该包括车次,开车时间,到达时间,起始站,终点站,车辆类型等信息。3.2 售票功能需求售票界面应具有起始站,终点站,里程数,车票类型,购买数量,价格自动结算等项目,其有两个入口,一个是直接购票入口,以及查询结果界面的购票入口,以方便购票。3. 3 退票功能需求 退票模块要能实现两种功能:退订和退票。退订是指用户有过订票记录,但票还没拿到;退票是指用户退掉已经拿到的车票,退票只能退回票价 80%的金额。3. 4 订票功能需求订票模块和买票模块主要有两点区别:用户进行订票操作时必须要输入用户信息;订票的和买票的提前时间不同,订票可以提前更多的时间。 吉林大学

24、毕业论文 第 7 页吉林大学计算机科学与技术学院3. 5 新闻功能需求 用户可以从新闻模块里了解近期的最新站内通知以及国内外新闻。3. 6 留言功能需求 用户可以把整个购票订票服务中的体会,意见以及建议反馈给车站工作人员,以方便工作人员更好的改进工作当中的疏漏以及不足。3. 7 用户管理功能需求当高级管理员登录系统时,用户管理界面入口可见,其他用户登录后则不能看到用户管理模块。用户管理模块主要有六个子模块:管理用户,剩余票查询,更新车次,销售情况统计,新闻管理,留言管理。 管理用户 系统的用户有三类,管理员,代售点用户和企业用户,不同的用户权限不同。这些权限具体体现在提前买票和订票时间上。除了

25、高级管理员,其他的用户都要先注册才能使用,不同类型的用户登录系统后操作界面不太一样。 剩余票查询 管理员要能查询某个车次或者所有的车次剩余票信息。 更新车次管理员可在第一次使用系统时通过这个功能模块来建立基本的车次信息库,在以后的业务活动中根据具体需要删除或者修改某些车次信息。 销售情况统计 用户可以统计某一时间段内某个车次或者某个代售点的销售情况,当然也可以查询所有车次或者所有代售点的销售情况。 新闻管理 吉林大学毕业论文 第 8 页吉林大学计算机科学与技术学院 管理员要能添加,修改,删除新闻内容。 留言管理 管理员可以查看,删除用户留言。3.8 注册功能需求 第一次使用系统时,首先要做的是

26、注册用户,注册用户模块里主要分两种类型的注册:代售点注册和企业用户注册。这两种注册方式的差别体现在所填注册信息上。不同的用户拥有不同的权限。3.9 性能需求 为了保证客车售票系统能够长期、安全、稳定、可靠、高效的运行,客车售票系统应该满足以下的性能需求3.9.1 系统的准确性和及时性 系统处理的准确性和及时性是系统的必要性能。在系统设计和开发过程中,要充分考虑系统当前和将来可能承受的工作量,使系统的处理能力和响应时间能够满足用户对信息处理的需求。由于客车售票系统的查询功能对于整个系统的功能和性能完成举足轻重。作为系统的很多数据来源,车票销售数量和销售时间又影响企业的决策活动,其准确性很大程度上

27、决定了客车售票系统的成败。在系统开发过程中,必须采用一定的方法保证系统的准确性。3.9.2 系统的开放性和可扩展性 售票系统在开发过程中,应该充分考虑以后的可扩充性。例如车次信息的临时或者永久性改变,用户查询的需求也会不断的更新和完善。所有这些,都要求系统提供足够的手段进行功能的调整和扩充。而要实现这一点,应通过系统的开放性来完成,即系统应是一个开放系统,只 吉林大学毕业论文 第 9 页吉林大学计算机科学与技术学院要符合一定的规范,可以简单的加入和减少系统的模块,配置系统的硬件。通过软件的修补、替换完成系统的升级和更新换代。3.9.3 系统的易用性和易维护性售票系统是直接面对普通用户的,而大多

28、普通用户往往对计算机并不是非常熟悉。这就要求系统能够提供良好的用户界面。要实现这一点,就要求系统应该尽量使用用户熟悉的术语和中文信息界面;针对用户在使用中出现的错误操作,尽量给出中文提示。售票系统中涉及到的数据是铁路部门的相当重要的信息,系统应提供方便的手段供系统维护人员进行数据的备份,日常的安全管理,以及系统意外崩溃时数据的恢复等工作。3.10 数据需求3.10.1 数据录入和处理的准确性数据的输入是否正确是数据处理的前提,错误的输入会导致系统输出的不正确和不可用,从而得不到想要的结果。数据的输入来源是手工输入。所以系统地界面要让用户容易使用,如果用户出现误操作,系统能简单明了的给出中文提示

29、。3.10.2 数据的一致性和完整性由于系统的数据是共享的,在不同的代售点中,车次信息是共享数据,所以如何保证这些数据的一致性,是系统必须解决的问题。要解决这一问题,要求系统能保证数据的一致性,在数据录入处控制数据的去向,并且要求对数据库的数据完整性进行严格的约束。对于输入的数据,要为其定义完整性规则,如果不能符合完整性约束,系统应该拒绝该数据,并给出出错提示。 吉林大学毕业论文 第 10 页吉林大学计算机科学与技术学院3.10.3 数据的共享与独立性 整个售票系统的数据是共享的。然而,从系统开发的角度上看,共享会给设计和调试带来困难。因此,应该提供灵活的配置,使不同权限的用户都可以正常进行操

30、作。 吉林大学毕业论文 第 11 页吉林大学计算机科学与技术学院第 4 章 系统设计4.1 系统总体设计4.1.1 设计目标 采用现有的互联网资源,实现 B/S 结构的火车售票系统。4.1.2 设计原则安全性未经注册的用户不能登录系统,用户个人信息和购票信息通过互联网上传输时,要确保信息的安全性。时效性用户对系统进行操作时,系统及时给与响应,一般响应速度应为秒级。可扩展性对于用户新的需求,能做到只需添加新模块即可满足用户要求。4.1.3 功能设计系统总的功能模块结构如图: 吉林大学毕业论文 第 12 页吉林大学计算机科学与技术学院图 4-14.2 系统功能模块设计 针对系统总体功能结构图,下面

31、是每个功能模块的详细设计。4.2.1 注册模块 注册模块是每个信息系统必须有的一个功能模块, 用户正确输入注册信息后,系统直接通过验证,把用户注册的用户名作为合法用户,这种是最常用的。本系统用的就是这种登录方式,这种注册方式用户名和密码都可以修改。4.2.2 登录模块首先出现的是登录页面,登陆页面的主要功能是验证用户是否具有登录权限。登录页面上有注册用户选项 ,用户首次使用本系统应该先注册,后使用。 吉林大学毕业论文 第 13 页吉林大学计算机科学与技术学院4.2.3 售票模块买票模块可以说是客车售票系统最重要最核心的模块,其它的功能模块都是为是以它为核心,为它服务。进入买票页面后,用户可以选

32、择或输入车次,开车时间,起始站,终点站,座位类型,是否学生票,票数等信息,可以点击计算价格和购买按钮。买票成功后可以给出用户具体的票据,也就是车票,本系统暂时先模拟了一张车票,车票上有打印按钮,当用户点击打印按钮,理论上可以打印出实际的车票,这个功能要设计到系统和车票打印机的连接,本系统主要侧重软件实现。4.2.4 订票模块订票模块也是客票系统中必不可少的功能模块,订票是指在超出买票期限时用户可以和代售点达成协议,先付款预定车票,这也是缓解客票销售紧张的一种好方法。订票界面和买票界面差不多,只是在买票页面上多了用户信息栏。当用户想要订票时候,除了需要输入车次信息和票数外,还要输入自己的信息,如

33、:姓名,联系方式,身份证号,地址等。用户的订票信息将会被保存到订票表。4.2.5 退票模块现在火车站退票的原则是:在列车开车前可以退票,只能退还原票价 80%的金额。退票模块分为两种退票方式:退票和退订。本系统设置的退票,退订返现为票价的 80%,即无论退票还是退订返回给用户的金额是票价的 80%。客户完成退票后,客户的在订票表的纪录要进行删除,以保证数据同步。4.2.6 查询模块如果用户以已知车次进行购票,那么直接在买票模块里输入车次就可以进行购票;如果用户买票时只知道出发地点和到达地点,这时可选 吉林大学毕业论文 第 14 页吉林大学计算机科学与技术学院择使用查询功能,在查询功能支持两种查

34、询方式:按车次查询和按站点查询。按车次查询直接输入车次就可以查出来该车次的车次信息;按站点查询又分为三种查询方式:按起始站,按终点站,按起始站和终点站的组合。无论以哪种方式查询,查询结果里面除了显示每一趟车次的详细信息外,每趟车次后面还有一个购买链接,可以直接跳转到购票页面,用户就可以在这里购买该趟车次车票。4.2.7 个人资料模块个人资料模块是个相对比较小的功能模块,它的作用是供用户查看或者修改自己的资料。用户登录系统主界面后,点个人资料系统就可以显示当前登陆用户的信息。用户可以在上面修改保存自己的信息。4.2.8 留言板模块留言板的功能是让用户可以及时向管理员反馈在系统使用中的出现问题和用

35、户建议,留言时要输入留言标题和内容,作者和留言时间系统可以自动获得,用户不用手动输入。4.2.9 用户管理模块管理用户功能主要是为了方便系统管理员对所有用户的管理,系统管理员在这里可以查看,修改和增加用户。如果某个代售点被取消,管理员就可以在这里删除它的用户信息。4.2.10 车次刷新模块更新车次模块主要作用是方便管理员建立基本车次信息库。管理员可查看,修改,增加删除车次信息和详细路段信息。4.2.11 销售统计模块统计方式选择:按车次,按代售点等。统计结果显示方式,它分为两种:记录和合计。 吉林大学毕业论文 第 15 页吉林大学计算机科学与技术学院4.3 数据库设计 本系统采用的数据库软件为

36、 SQLserver2000,本系统用到的数据库名为 selltickets(售票) ,它里面包括 9 张表,下面逐一介绍。4.3.1 用户表用户表用来存储注册用户的信息,它的结构如表:表 4-1字段名称数据类型长度描述序号Int4主键用户名Char10用户名密码Char10密码联系方式Varchar50联系方式负责人Char10负责人单位全称Varchar50单位全称具体地址Varchar20具体地址身份证Char20身份证号代售点编号Int4为代售点用户自动分配编号用户类型Int 4代售点为 1,企业用户为 24.3.2 车次详细信息表表存储的是车次的具体路段信息,它的结构如表 4-2:

37、吉林大学毕业论文 第 16 页吉林大学计算机科学与技术学院表 4-2字段名称数据类型长度描述序号Decimal9主键车次Char18车次开车时间Datatime8开车时间到达时间Datetime8到达时间出发站Char50出发站到达站Char50到达站行程Decimal9每两站之间的距离4.3.3 普通列车价格表普通列车价格表存储的是普通列车的票价计算参数,它的具体结构如表:表 4-3 普通列车价格表字段名称数据类型长度描述序号Int4主键里程Int 4路程分段计费普通列车Decimal9普通列车对应路段价格普快列车Decimal9普快列车对应路段价格特快列车Decimal9特快列车对应路段价

38、格空调费率Int9路段空调费率座位类型Char10座位类型4.3.4 普通列车卧铺价格表普通列车卧铺价格表存储的是普通列车卧铺票价的计算参数,它的具体结构如表 4-4:表 4-4 普通列车卧铺价格表 吉林大学毕业论文 第 17 页吉林大学计算机科学与技术学院字段名称数据类型长度描述序号Int4主键里程Int4路程分段计费上铺Decimal9上铺对应路段的价格中铺Decimal9中铺对应路段的价格下铺Decimal9下铺对应路段的价格空调费率Decimal9路段空调费率车辆类型Char18有普通,普快,特快之分座位类型Char18有软卧和硬卧之分4.3.5 空调列车价格表空调列车价格表存储的是空

39、调列车票价的计算参数,它的具体结构如表 4-5:表 4-5 空调列车价格表字段名称数据类型长度描述序号Int4主键里程Int 4路程分段计费普通列车Decimal9普通列车对应价格普快列车Decimal9普快列车对应价格特快列车Decimal9特快列车对应价格 4.3.6 空调列车卧铺价格表空调列车卧铺价格表存储的是空调列车卧铺票价的计算参数,它的具体结构如表 4-6: 表 4-6 空调列车卧铺价格表 吉林大学毕业论文 第 18 页吉林大学计算机科学与技术学院字段名称数据类型长度描述序号Int4主键里程Int4路程分段计费上铺Decimal9上铺对应路段的价格中铺Decimal9中铺对应路段的

40、价格下铺Decimal9下铺对应路段的价格车辆类型Char18有普通,普快,特快 之分座位类型char18有软卧和硬卧之分4.3.7 订票纪录表 订票纪录表存储的是用户的买票记录和订票信息,买票和订票操作产生的记录有不同的字段,本系统中把两种不同字段放在一张表里,如果订票字段为空,则系统可判断这是一条买票记录,它的具体结构如表4-7: 吉林大学毕业论文 第 19 页吉林大学计算机科学与技术学院表 4-7 订票记录表字段名称数据类型长度描述序号Int4主键车次Char10车次出发站Char10车发站到达站Char10到达站座位类型Char10座位类型票数Decimal9票数总价格Decimal9

41、总价格用户名Char50用户名联系方式Decimal20联系方式身份证Decimal20身份证发车日期Datetime8发车日期时间Datetime8时间座位号Int4座位号4.3.8 留言信息表 留言信息表存储的是用户反馈给管理员的信息,它的具体结构如表4-8:表 4-8 留言信息表字段名称数据类型长度描述序号Int4主键 标题Varchar50标题内容Varchar1000留言内容作者Varchar50留言的用户名时间Datetime8发表留言的时间 吉林大学毕业论文 第 20 页吉林大学计算机科学与技术学院4.3.9 新闻信息表新闻信息表存储的是管理员发布的站内新闻,它的具体结构如表 4

42、-9:表 4-9 新闻信息表字段名称数据类型长度描述序号Int4主键标题Varchar100标题发布时间Datetime8留言时间 内容Varchar5000留言内容 吉林大学毕业论文 第 21 页吉林大学计算机科学与技术学院4.3.10 客车售票系统 E-R 图图 4-2 客车售票系统 E-R 图 吉林大学毕业论文 第 22 页吉林大学计算机科学与技术学院第 5 章 系统实现本章主要讲如何在前面分析和设计的基础上通过 ASP.NET 和sqlserver2000 来实现售票系统。下面将详细介绍每个功能模块是如何实现。在讲系统实现之前,现讲一下 是如何对数据库进行操作的,因为本系统的所有模块基

43、本上都涉及到数据库操作。SQLserver2000 数据库属于关系型数据库,而关系型数据库中最重要的也是最基础的是数据表 ,数据表是一系列相关数据的集合,每张数据表可分为行和列,每一行是一条记录,每一列是一个字段,为了存储数据,可以建立相应的数据表,使得数据以一条一条的记录方式存储在数据表中,当然这些都是用数据库管理软件来实现的。数据库和数据表创建好后,我们就可以对数据库进行读写操作, 是用 来对数据库进行操作的, 是一组有.NET Framework 提供的对象类的名称,用于数据存储中的数据交互,需要注意的是, 使用的是数据存储的概念,而不是数据库的概念,就是说, 不但可以处理数据库中的数据

44、 ,还可以处理其他存储方式中的数据,例如 XML 格式,Excel 格式和文本文件格式中的数据。A 与 ado 相比有更大的可伸缩性和互操作性,它的一大特点是可以对断开的数据集进行操作。在 Web 应用程序中,由于用户在使用网页访问数据库时,网络一般是断开的,只有当用户发出请求时才与数据库建立连接,一旦请求完毕,就断开连接,这样做的最大好处就是可以节约服务器的资源,所以 这个特性可以很大程度上提高应用程序的效率。建立数据库连接的方法很多,如果使用的 OLE DB 编程接口,就要使用 OleDbConnection 对象,如果使用的是 SQL Server 编程接口,就要使用 Sqlconnec

45、tion 对象(本系统使用的就是 Sqlconnection 对象)3。 吉林大学毕业论文 第 23 页吉林大学计算机科学与技术学院如果要与数据库中的某一张表建立连接,在服务器资源管理器中找到对应的表,把它拖到对应的页面中去,系统会自动生成sqlDataAdapter 对象和 sqlConnection 对象,我们可以用sqlConnection 来生成数据集 dataset 对 sqlDataAdapter 按照提示向导做简单的配置,就可以在程序里调用它。5.1 登陆模块5.1.1 实现原理 用户输入用户名和密码点击登录后,系统首先判断用户名和密码是否为空,若为空,则显示输入信息不完整,若都

46、不为空,则以用户名查询用户表,将查询到的信息填入数据集,若数据集中信息小于一行,则用户非法,反之,则登陆成功,进入系统页面。5.1.2 关键代码 点击”登陆”按扭后执行下面代码:private void Button_denglu_Click(object sender, System.EventArgs e) if(this.sqlConnection_user.State.ToString()=Closed)this.sqlConnection_user.Open();/ 如果数据库连接状态为关闭,打开数据库连接if(this.text_name.Text.Trim()!=&this.te

47、xt_password.Text.Trim()!=)/如果用户名和密码栏不为空 string sql=select * from user where 用户名=+this.text_name.Text.Trim()+and 密码=+this.text_password.Text.Trim()+; 吉林大学毕业论文 第 24 页吉林大学计算机科学与技术学院/构造查询语句:以用户名为条件查询数据库, this.sqlDataAdapter_user.SelectCommand.CommandText=sql; this.sqlDataAdapter_user.Fill (this.dataSet_

48、user); /把查询结果填充到数据集里面 if(this.dataSet_user.Tables0.Rows.Count0) /如果查询结果不为空Sessionusername=this.text_name.Text.Trim(); / 把当前用户名纪录在 Sessionusername。this.Response.Redirect(main.aspx); /跳转到系统主界面。else Global.Alert(this,用户名或密码输入有误,请重新输入!); /如果查询结果为空,提示错误信息。else Global.Alert(this,用户名或密码输入不完整! ); /如果用户名和密码栏

49、由空值,提示错误信息。 Sessionusername=null; 吉林大学毕业论文 第 25 页吉林大学计算机科学与技术学院 5.2 注册模块 5.2.1 实现原理注册模块里有两种注册方式:代售点注册和企业用户注册。代售点指的是火车票售票窗口,企业则指的是学校,公司等企业类型用户。这两种不同的注册方式要求用户填写的注册信息不同,但是它们的注册信息是存放在同一张用户表里面的。系统从用户表里的两个字段来区分两种注册方式:一是“代售点编号”字段,如果是代售点注册,则这里有系统自动分给的一个编号,如果是企业用户注册,该字段为空;二是通过“用户类型来区分” ,如果是代售点注册,用户类型为“1” ,如果

50、是企业用户注册,该字段值为“2” ,在注册页面当用户点击两个 RadioButton按钮:代售点注册和企业用户注册,系统会自动把这两个组件的AutoPostBack 属性的值都为 True,并且它们 Grounpname 相同,点击两个 RadioButton 出现的用户信息填写框不同。这里是把两种用户注册信息放到一个页面里,在页面的 page_load 事件里,判断是那种注册方式,显示信息栏。当用户点击确定(注册)按钮时,系统首先判断页面上所有的信息栏有没有空,有空则提示“信息输入不完整” ,否则进入下一步判断,用户注册页面这里要求用户名 6-16 个字符,密码 8-16 个字符,如果输入信

51、息都满足条件,把用户的注册信息存储到用户表里面,然后系统跳转到注册成功页面,然后自动回到用户登录页面,这里也可以手动点击回到用户登录页面。5.2.2 Button_queding_Click 事件(提交事件)Button_queding_Click 事件的核心代码如下:this.sqlDataAdapter_user.InsertCommand.CommandText=insert into 吉林大学毕业论文 第 26 页吉林大学计算机科学与技术学院user (序号,用户名,密码,联系方式,负责人,代售点编号,具体地址,身份证,用户类型) values(+xuhao+,+xingming+,+

52、mima+,+lxfs+,+fzr+,+bianhao+,+dz+,+sfz+,+yonghuleixing+);/构造 sql 插入语句if(this.sqlConnection1.State.ToString()=Closed)this.sqlConnection1.Open();/打开数据库连接this.sqlDataAdapter_user.InsertCommand.ExecuteNonQuery();/执行插入语句this.Response.Redirect(zhucechenggong.aspx);/跳转到注册成功信息页面 获取 IP 的代码如下 :this.Label_IP.T

53、ext=Page.Request.UserHostAddress; 获取浏览器版本号的代码如下:this.Label_LLQ.Text=Request.Browser.Version;5.3 系统主界面系统主界面是所有其它所有模块的入口,主界面上的所有按钮鼠标点击事件主要执行两种代码:一是直接跳转如: this.Response.Redirect(xxx.aspx);,“xxx.aspx”是其它功能页面的名称。二是在主界面的上弹出新的窗口,如: string msg; msg = ;msg+=window.open (yh 个人,height=220,width=650,top=150,lef

54、t=200,toolbar=no,menubar=no, 吉林大学毕业论文 第 27 页吉林大学计算机科学与技术学院scrollbars=no,resizable=no,locatio n, nn=no,status=no); /设置弹出窗口的大小及位置 msg +=; this.RegisterStartupScript(个人信息,msg);/执行javascript 脚本5.4 售票模块 5.4.1 实现原理 在买票页面,用户需要输入购买的车次,开车时间,起始站,终点站,座位类型,是不是学生票,票数,等信息。这里要注意的是:当用户输入车次后,直接去点起始站和终点站的下拉菜单是没有可选值的,

55、正确定操作是输入车次后,点确定,系统会根据车次把该车次的详细路段信息绑定到起始站和终点站的下拉菜单里面,为什么要输入车次后点击确定? 这就是 B/S 结构系统得特点,要想得到结果必须要把数据提交给后台服务器,如果只是输入车次不点确定,后台无法或者车次信息。同样的道理,当上面的车票信息都填写完后要点击价格按钮,系统会根据车次信息把价格计算出来,显示给用户。计算出来价格后,用户就可以点击购买按钮,进行买票。点击购买按钮后,系统首先从Senssion“name”里面得到当前登录的用户名,根据用户名在用户表里面找到该用户的用户类型,根据用户类型得出该用户的提前买票时间,然后把当前的系统时间和开车时间求

56、差值,把这个差值和提前买票时间做个比较 ,如果差值大于提前买票时间,提示“不在购票期限内!” 。否则,在订票表里面添加买票纪录 ,在车次信息表里把对应的车次对应座位类型的票数减去购买的票数。最后给出买票详单,买票详单上显示了车票的具体信息,这些字段信息是如何获得的?通常有两种方法:一,买票操作成功后,调用买票详单页面,通过 URL 把所有的车票信息传递 吉林大学毕业论文 第 28 页吉林大学计算机科学与技术学院过去;二,调用买票详单页面时,只传递车次,详单页面的 page_load事件里面直接获取车次,根据车次去订票表里面查找购票信息,再把它们显示出来,本系统用的是第二种方法。买票详单上面有打

57、印按钮,点击它可以把车票打印出来。5.4.2 绑定车次代码DropDownList_qsz(起始站下拉框)和 DropDownList_zdz(终点站下拉框)两个下拉框开始时是空的,当用户输入车次后,点击“确定”按钮,系统会根据车次从数据库里面的 ticketsinf 表查询该车次的所有沿途站点,并把它绑定到 DropDownList_qsz 和 DropDownList_zdz 上,用户就可以从 DropDownList_qsz 和 DropDownList_zdz 里面分别选择起始站和终点站。Button_quding_click(确定车次)事件里绑定起始站的核心代码如下:dsbegin=

58、new DataSet(); /存放起始站的查询结果 sql=SELECT 出发站 FROM ticketsinf; /* 构造查询语句 sql+= where 车次=+ this.Text_checi.Text.Trim()+; */ if(this.sqlConnection1.State.ToString()=Closed) /*打开数据库连接 this.sqlConnection1.Open(); */ this.sqlDataAdapter_ticketsinf.SelectCommand.CommandText=sql; /*执行查询操作 this.sqlDataAdapter_t

59、icketsinf.Fill(this.dsbegin); 吉林大学毕业论文 第 29 页吉林大学计算机科学与技术学院*/this.DropDownList_qsz.DataSource=this.dsbegin; /以下为绑定起始站代码this.DropDownList_qsz.DataMember=this.dsbegin.Tables0.ToString();this.DropDownList_qsz.DataTextField=this.dsbegin.Tables0.Columns0.ToString();this.DropDownList_qsz.DataValueField=th

60、is.dsbegin.Tables0.Columns0.ToString();this.DropDownList_qsz.DataBind();5.4.3 价格计算原理及代码火车票价格计算参数有四张表,它们分别是“普通列车硬座价格表” ,“普通列车卧铺价格表” , “空调列车硬座价格表” , “空调列车卧铺价格表”他们的大体结构如下:1.普通列车硬座价格表表 5-1 吉林大学毕业论文 第 30 页吉林大学计算机科学与技术学院2. 普通列车卧铺价格表表 5-23. 空调列车硬座价格表表 5-34. 空调列车卧铺价格表表 5-4 吉林大学毕业论文 第 31 页吉林大学计算机科学与技术学院本系统数据

61、库中有四张表(putongliechejiage,putonglichewopujiage,kongtiaoliejiage,kongtiaoliechewopujiage),分别与上面四张表结构相对应。下面讲具体实现价格计算的流程,图 5-1价格计算的核心代码:if(kongtiao=)&(zuoweileixing=卧铺) /如果是卧铺this.sqlDataAdapter_putongche.SelectCommand.CommandText=select 吉林大学毕业论文 第 32 页吉林大学计算机科学与技术学院里程,普通列车,普快列车,特快列车,空调费率 ,座位类型 from put

62、ongliechejiage ; /构造查询语句 if(this.sqlConnection2.State.ToString()=Closed) this.sqlConnection2.Open(); /打开数据库 this.sqlDataAdapter_putongche.Fill(this.dsputongche); /执行查询语句 int hangshu=this.dsputongche.Tables0.Rows.Count; /记录查询结果的行数 if(leixing=普通) /如果车辆类型为“普通” for(int i=0;i=decimal.Parse(this.dsputongc

63、he.Tables0.Rowsi0.ToString()&lucheng1,进行循环取每一行的车次字段值,然后以车次为查询条件对 tickets 表进行查询,把该车次的基本信息展示给用户。组合查询(即有起始站又有终点站)方式:假如我们要查询从成都到北京西的车次信息,首先把 ticketsinf 表中的车次,出发站,到达站三个字段全部查询出来放到数据集的一张表里面,假如这张表名为 table,用count 纪录 table 表的行数。执行循环:(for i=0;icount;i+)如果 table 表里面的第一行的出发站等于成都,作标记 flag1=1,并纪录该行的车次,然后再判断该行的到达站是

64、否等于北京西,如果该行的到达站也等于北京西站,作标记 flag2=2,如果 flag1=1 并且 flag2=2,以该行的车次为条件对 tickets 表进行查询,把查询结果展示给用户;如果第一行没有满足条件,继续判断下一行纪录,假如某一行的出发站等于成都,但是它的到达站不等于北京西,而在下面的某行找到一行到达站等于北京西,这时候就要判断车次,因为 ticketsinf 表中纪录很多车次的信息,如果不判断车次是否相等,会出现查出错。如果结果在 table 都查询完后仍没有满足 flag1=1 并且 flag2=2 ,它们的车次相等,则说明没有用户要的车次信息。5.9 站内新闻模块用户打开站内新

65、闻页面时,页面就已经有新闻显示出来,比如今日要闻栏里显示的今天的所有新闻,以往新闻里显示的是所有的新闻纪录。 吉林大学毕业论文 第 38 页吉林大学计算机科学与技术学院新闻栏里显示的是今日新闻的第一条新闻,这些都是不用用户操作 直接显示出来的,所以它们的代码都是在 Page_load 事件里面执行的。今日要闻的实现原理是:从系统获取今天的日期,以它为条件所有数据库里的 xinwen 表(新闻表) ,然后把查询结果的新闻标题绑定到DataGrid_jryw(今日要闻_数据网格) ,这里要注意的是,从新闻表里面查询出来的新闻标题可能很长,如果直接绑定到 DataGrid_jryw 中去可能界面比较

66、乱,所以在绑定之前先要对查询结果进行处理,这里是利用循环语句把查询结果所有的行都执行 substring(0,10)方法,这样标题就只显示前 10 个字符,substring 是 string()自带的方法。 以往新闻的代码原理和上面一样,不同的是它无条件的执行查询语句,即查询所有新闻内容。5.10 意见反馈模块 该功能在系统的主界面上,它的作用是把用户在使用系统中遇到的问题,或者意见建议及时地反馈给车站工作人员,为工作的改进以及车站服务的改进提供参考的意见和建议。意见反馈模块被调用时是以窗口形式出现在主界面上的。用户填写好意见标题和内容后,点击“提交”按钮,用户意见将被保存到留言表里面。意见反馈界面如图:图 5-3 吉林大学毕业论文 第 39 页吉林大学计算机科学与技术学院5.11 用户管理模块 模块都是面向用户的,该模块只对管理员课件,即当用户名为 admin时,用户管理模块可见,它的主要功能是方便管理员管理整个系统,当本系统第一次安装运行后,管理员要进入“更新车次”模块,建立基本车次信息表和车次详细信息表,只有这些数据添加后,本系统才可用。用户管理模块包括以下子模块:管理用

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!