《基于BS架构的火车站售票管理系统.doc》由会员分享,可在线阅读,更多相关《基于BS架构的火车站售票管理系统.doc(51页珍藏版)》请在三一办公上搜索。
1、火车站售票管理系统摘 要火车站售票系统是一个基于B/S构架的系统。系统的开发和应用目的是使售票活动能够在多个不同的地点(除火车站外)进行并且能够使旅客通过系统查询到自己所需要的出行信息。本论文围绕如何实现基于B/S结构的客票系统展开讨论,通过对现有C/S结构的售票系统与B/S结构的优缺点进行比较 ,给出基于B/S结构售票系统的具体解决方案:查询,买票,订票,退票,新闻管理,用户管理等六大模块,并研究B/S结构在网络中面临的安全问题及提出相应的解决方案。在软件的结构设计中侧重售票系统主要功能的设计与实现。本论文的研究内容还涉及现有客车售票系统中常用的算法设计,对如何将B/S结构的售票系统与车票打
2、印机连接起来也做了简要介绍。 本论文关于客票系统的研究分为以下几个章节:第一章:绪论;第二章:B/S模式与开发平台介绍;第三章:需求分析;第四章:系统总体设计与数据库设计;第五章:系统的具体实现细节;第六章:结论等。关键字:B/S结构,售票,铁路The tickets exchange system of railway stationAuthor:Xiaowei WuTutor:Shuyang SunAbstractThe system which the station sells the ticket is a system that base on the frame of the B
3、/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 out by the system. This paper give a solution of tickets selling through compar
4、ing 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 system which is now using .And also it gives a brief introduction of how to connect
5、 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 analyze; The chapter 4: the collectivity design of system;The chapter 5:introduction the details of design;Th
6、e chapter 6: conclusion and onKeyword:B/S structure,tickets exchange,railway目 录第1章 绪论11.1铁路信息化的现状及目标11.2铁路售票系统的现状21.3文章概要2第2章 B/S模式和开发平台32.1 B/S模式介绍32.1.1 关于B/S(浏览器/服务器)模式32.2 开发工具介绍32.2.1 关于SQLServer200032.2.2 关于.NET32.2.3 关于ASP.NET43.1 查询功能需求63.2 售票功能需求63. 3 退票功能需求63. 4 订票功能需求63. 5 新闻功能需求63. 6 留言功
7、能需求73. 7 用户管理功能需求73.8 注册功能需求83.9 性能需求83.9.1 系统的准确性和及时性83.9.2 系统的开放性和可扩展性83.9.3 系统的易用性和易维护性93.10 数据需求93.10.1 数据录入和处理的准确性93.10.2 数据的一致性和完整性93.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 个人资料模块
8、144.2.8 留言板模块144.2.9 用户管理模块144.2.10 车次刷新模块144.2.11 销售统计模块144.3 数据库设计154.3.1用户表154.3.2 车次详细信息表154.3.3普通列车价格表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关键代码235.2注册模块255.2.1实现原理255.2.2 Button_queding_Click事件(提交事件)255.3
9、系统主界面265.4售票模块275.4.1实现原理275.4.2绑定车次代码285.4.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铁路信息化的现状及目标用信息化推动工业化,用信息技术改造传统产业,这是我国迫切要完成的一项战略性任务。作为工业文明的产物铁路,如何借助信
10、息技术的帮助,实现管理方式,运营组织,服务标准的现代化,这是摆在我国铁路工作者面前的重大课题。铁路信息化是铁路现代化的重要标志,其根本目的是将信息技术应用到铁路生产经营与管理决策等各项活动中,改造传统产业,提高铁路生产率,提高市场竞争力,提高铁路运营经济效益。国内外已有运作合理完善的火车售票管理系统,其具有售票、查询、管理和维护等功能,系统管理员可以进行对车次的更改、票价的变动及调度功能,票价的修改可以通过修改运价来进行,车次调度可通过对发车时刻表的修改来进行,维护功能即可对表进行修改。满足当前火车售票管理的需求,并且运作十分良好。铁路信息化建设目前主要集中在搞好铁路运输生产管理上,加快计算机
11、调度系统建设,完善客票发售与预订系统,搞好各地信息系统的结合,实现资源有效利用,信息共享。其总体目标是:形成具有国际水平的铁路信息化基础通信平台,实现各部门各系统之间的信息数据共享,互联互通;建成车,机,工,电,辆各部门调度控制,安全生产,运输指挥的现代化保障体系。为铁路运输各部门提供所需的管理信息资源和强有力的决策支持。通过现代客货营销手段和电子商务手段,带动铁路运输经济发展,大幅度提高运输效益。建立建全与信息化相适应的管理体制。我国目前的铁路信息化总体程度居国内领先,国际先进水平。1.2铁路售票系统的现状 铁路客票发售和预订系统经过几年的建设,取得了很大的进展。火车售票系统的推广使用,大大
12、方便了旅客购票,也预示着我国铁路售票系统正日趋合理与完善,并且具有良好的交互界面,容易被用户所接受。本系统为了解决售票大厅拥挤和团体集中购票的问题,提高铁路客运的售票效率及为旅客提供更多的便捷服务,本系统利用计算机网络,通过网络或代售点售票系统,使得售票服务更为便捷效率,使铁路售票系统应用更为广泛,使得铁路售票业务,铁路客运及运输发展更为稳定,迅猛。1.3文章概要全文分为六章: 第一章:绪论 介绍我国目前铁路信息化的有关背景和B/S结构铁路售票系统在铁路信息化中的特点及优势。第二章: B/S模式和开发工具 介绍B/S结构。本系统所选则开发平台是2000,数据库用的是sqlserver2000。
13、 第三章:需求分析 分析了该系统的功能需求,提出了火车站售票系统的总体设计方案。 第四章: 售票系统设计 针对火车售票系统业务的数据结构,数据管理特点进行数据库设计,系统总体设计。 第五章:售票系统的实现 详细介绍售票系统中每个功能模块如何实现,主要代码的思想及功能。第2章 B/S模式和开发平台2.1 B/S模式介绍2.1.1 关于B/S(浏览器/服务器)模式B/S结构即浏览器和服务器结构。它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。它是一次性到位的开发,能实现不同的人员,从不同的地点,以不同的接入方式(比如LAN, WAN, Internet/Intranet等
14、)访问和操作共同的数据库;它能有效地保护数据平台和管理访问权限,服务器数据库也很安全。在JAVA这样的跨平台语言出现之后,B/S架构管理软件更是方便、快捷、高效。2.2 开发工具介绍伴随着Internet/Intranet技术的发展,开发基于Web的应用程序势在必行,数据库技术更是需要和Web数据相结合,才是更为广阔的前景。ASP.Net作为微软推出的新兴Web应用程序开发技术,在数据库应用方面发挥着越来越重要的作用。 本系统的开发平台是ASP.NET2000,数据库选择用的SQLServer2000。2.2.1 关于SQLServer2000 SQL Server 2000 是Microso
15、ft 公司推出的SQL Server 数据库管理系统的最新版本。该版本继承了SQL Server 7.0 版本的优点同时又比它增加了许多更先进的功能,具有使用方便,可伸缩性好与相关软件集成程度高等优点,可跨越从运行Microsoft Windows 98 的膝上型电脑到运行Microsoft Windows 2000 的大型多处理器的服务器等多种平台使用。2.2.2 关于.NET.NET 是 Microsoft XML Web services 平台。XML Web services 允许应用程序通过 Internet 进行通讯和共享数据,而不管所采用的是哪种操作系统、设备或编程语言。Micr
16、osoft .NET 平台提供创建 XML Web services 并将这些服务集成在一起之所需。对个人用户的好处是无缝的、吸引人的体验。而且.NET平台的基础架构.NET框架(Framework),采用统一的命令集支持各种编程语言。从而消除各种异类框架之间的差异,提供强的跨语言继承性、错误处理和调试功能2.2.3 关于ASP.NETASP.net是把基于通用语言的程序在服务器上运行。不像以前的ASP即时解释程序,而是将程序在服务器端首次运行时进行编译,这样的执行效果,当然比一条一条的解释强很多。因为ASP.net是基于通用语言的编译运行的程序,所以它的强大性和适应性,可以使它运行在Web应
17、用软件开发者的几乎全部的平台上(笔者到现在为止只知道它只能用在Windows 2000/2003 Server上)。通用语言的基本库,消息机制,数据接口的处理都能无缝的整合到ASP.net的Web应用中。ASP.net同时也是language-independent语言独立化的,所以,你可以选择一种最适合你的语言来编写你的程序,或者把你的程序用很多种语言来写,现在已经支持的有C#(C+和Java的结合体),VB,Jscript。将来,这样的多种程序语言协同工作的能力保护您现在的基于COM+开发的程序,能够完整的移植向ASP.net。ASP.net使运行一些很平常的任务如表单的提交客户端的身份验
18、证、分布系统和网站配置变得非常简单。ASP.net使用一种字符基础的,分级的配置系统,使你服务器环境和应用程序的设置更加简单。因为配置信息都保存在简单文本中,新的设置有可能都不需要启动本地的管理员工具就可以实现。这种被称为Zero Local Administration的哲学观念使A的基于应用的开发更加具体,和快捷。一个ASP.net的应用程序在一台服务器系统的安装只需要简单的拷贝一些必须的文件,不需要系统的重新启动,一切就是这么简单。多处理器环境的可靠性 ASP.net已经被刻意设计成为一种可以用于多处理器的开发工具,它在多处理器的环境下用特殊的无缝连接技术,将很大的提高运行速度。即使你现
19、在的ASP.net应用软件是为一个处理器开发的,将来多处理器运行时不需要任何改变都能提高他们的效能,但现在的ASP却做不到这一点。自定义性和可扩展性 ASP.net设计时考虑了让网站开发人员可以在自己的代码中自己定义plug-in的模块。这与原来的包含关系不同,ASP.net可以加入自己定义的如何组件。网站程序的开发从来没有这么简单过。安全性基于Windows认证技术和每应用程序配置,你可以确保你的原程序是绝对安全的。 ASP.NET 的语法在很大程度上与 ASP 兼容,同时它还提供一种新的编程模型和结构,可生成伸缩性和稳定性更好的应用程序,并提供更好的安全保护。可以通过在现有 ASP 应用程
20、序中逐渐添加 ASP.NET 功能,随时增强 ASP 应用程序的功能。 ASP.NET 是一个已编译的、基于 .NET 的环境,把基于通用语言的程序在服务器上运行。将程序在服务器端首次运行时进行编译,比ASP即时解释程序速度上要快很多.而且是可以用任何与 .NET 兼容的语言(包括 Visual Basic .NET、C# 和 JScript .NET.)创作应用程序。第3章 需求分析 该系统是利用ASP.NET2000平台开发,数据库采用的是SQLSever2000,旨在开发一个具有开放体系结构的、易扩充的、易维护的、具有良好人机交互界面的火车售票系统,为用户提供满意的火车票销售服务。3.1
21、 查询功能需求查询功能要能满足至少两种方式的查询:按车次查询,按站点查询。如果查询出来满足条件的车次后,用户可以直接点击购买。查询出来的信息里面应该包括车次,开车时间,到达时间,起始站,终点站,车辆类型等信息。3.2 售票功能需求售票界面应具有起始站,终点站,里程数,车票类型,购买数量,价格自动结算等项目,其有两个入口,一个是直接购票入口,以及查询结果界面的购票入口,以方便购票。3. 3 退票功能需求 退票模块要能实现两种功能:退订和退票。退订是指用户有过订票记录,但票还没拿到;退票是指用户退掉已经拿到的车票,退票只能退回票价80%的金额。3. 4 订票功能需求订票模块和买票模块主要有两点区别
22、:用户进行订票操作时必须要输入用户信息;订票的和买票的提前时间不同,订票可以提前更多的时间。3. 5 新闻功能需求 用户可以从新闻模块里了解近期的最新站内通知以及国内外新闻。3. 6 留言功能需求 用户可以把整个购票订票服务中的体会,意见以及建议反馈给车站工作人员,以方便工作人员更好的改进工作当中的疏漏以及不足。3. 7 用户管理功能需求当高级管理员登录系统时,用户管理界面入口可见,其他用户登录后则不能看到用户管理模块。用户管理模块主要有六个子模块:管理用户,剩余票查询,更新车次,销售情况统计,新闻管理,留言管理。 管理用户 系统的用户有三类,管理员,代售点用户和企业用户,不同的用户权限不同。
23、这些权限具体体现在提前买票和订票时间上。除了高级管理员,其他的用户都要先注册才能使用,不同类型的用户登录系统后操作界面不太一样。 剩余票查询 管理员要能查询某个车次或者所有的车次剩余票信息。 更新车次管理员可在第一次使用系统时通过这个功能模块来建立基本的车次信息库,在以后的业务活动中根据具体需要删除或者修改某些车次信息。 销售情况统计 用户可以统计某一时间段内某个车次或者某个代售点的销售情况,当然也可以查询所有车次或者所有代售点的销售情况。 新闻管理 管理员要能添加,修改,删除新闻内容。 留言管理 管理员可以查看,删除用户留言。3.8 注册功能需求 第一次使用系统时,首先要做的是注册用户,注册
24、用户模块里主要分两种类型的注册:代售点注册和企业用户注册。这两种注册方式的差别体现在所填注册信息上。不同的用户拥有不同的权限。3.9 性能需求 为了保证客车售票系统能够长期、安全、稳定、可靠、高效的运行,客车售票系统应该满足以下的性能需求3.9.1 系统的准确性和及时性 系统处理的准确性和及时性是系统的必要性能。在系统设计和开发过程中,要充分考虑系统当前和将来可能承受的工作量,使系统的处理能力和响应时间能够满足用户对信息处理的需求。由于客车售票系统的查询功能对于整个系统的功能和性能完成举足轻重。作为系统的很多数据来源,车票销售数量和销售时间又影响企业的决策活动,其准确性很大程度上决定了客车售票
25、系统的成败。在系统开发过程中,必须采用一定的方法保证系统的准确性。3.9.2 系统的开放性和可扩展性 售票系统在开发过程中,应该充分考虑以后的可扩充性。例如车次信息的临时或者永久性改变,用户查询的需求也会不断的更新和完善。所有这些,都要求系统提供足够的手段进行功能的调整和扩充。而要实现这一点,应通过系统的开放性来完成,即系统应是一个开放系统,只要符合一定的规范,可以简单的加入和减少系统的模块,配置系统的硬件。通过软件的修补、替换完成系统的升级和更新换代。3.9.3 系统的易用性和易维护性售票系统是直接面对普通用户的,而大多普通用户往往对计算机并不是非常熟悉。这就要求系统能够提供良好的用户界面。
26、要实现这一点,就要求系统应该尽量使用用户熟悉的术语和中文信息界面;针对用户在使用中出现的错误操作,尽量给出中文提示。售票系统中涉及到的数据是铁路部门的相当重要的信息,系统应提供方便的手段供系统维护人员进行数据的备份,日常的安全管理,以及系统意外崩溃时数据的恢复等工作。3.10 数据需求3.10.1 数据录入和处理的准确性数据的输入是否正确是数据处理的前提,错误的输入会导致系统输出的不正确和不可用,从而得不到想要的结果。数据的输入来源是手工输入。所以系统地界面要让用户容易使用,如果用户出现误操作,系统能简单明了的给出中文提示。3.10.2 数据的一致性和完整性由于系统的数据是共享的,在不同的代售
27、点中,车次信息是共享数据,所以如何保证这些数据的一致性,是系统必须解决的问题。要解决这一问题,要求系统能保证数据的一致性,在数据录入处控制数据的去向,并且要求对数据库的数据完整性进行严格的约束。对于输入的数据,要为其定义完整性规则,如果不能符合完整性约束,系统应该拒绝该数据,并给出出错提示。3.10.3 数据的共享与独立性 整个售票系统的数据是共享的。然而,从系统开发的角度上看,共享会给设计和调试带来困难。因此,应该提供灵活的配置,使不同权限的用户都可以正常进行操作。 第4章 系统设计4.1系统总体设计4.1.1 设计目标 采用现有的互联网资源,实现B/S结构的火车售票系统。4.1.2 设计原
28、则安全性未经注册的用户不能登录系统,用户个人信息和购票信息通过互联网上传输时,要确保信息的安全性。时效性用户对系统进行操作时,系统及时给与响应,一般响应速度应为秒级。可扩展性对于用户新的需求,能做到只需添加新模块即可满足用户要求。4.1.3 功能设计系统总的功能模块结构如图:图4-14.2 系统功能模块设计 针对系统总体功能结构图,下面是每个功能模块的详细设计。4.2.1 注册模块 注册模块是每个信息系统必须有的一个功能模块, 用户正确输入注册信息后,系统直接通过验证,把用户注册的用户名作为合法用户,这种是最常用的。本系统用的就是这种登录方式,这种注册方式用户名和密码都可以修改。4.2.2 登
29、录模块首先出现的是登录页面,登陆页面的主要功能是验证用户是否具有登录权限。登录页面上有注册用户选项 ,用户首次使用本系统应该先注册,后使用。4.2.3 售票模块买票模块可以说是客车售票系统最重要最核心的模块,其它的功能模块都是为是以它为核心,为它服务。进入买票页面后,用户可以选择或输入车次,开车时间,起始站,终点站,座位类型,是否学生票,票数等信息,可以点击计算价格和购买按钮。买票成功后可以给出用户具体的票据,也就是车票,本系统暂时先模拟了一张车票,车票上有打印按钮,当用户点击打印按钮,理论上可以打印出实际的车票,这个功能要设计到系统和车票打印机的连接,本系统主要侧重软件实现。4.2.4 订票
30、模块订票模块也是客票系统中必不可少的功能模块,订票是指在超出买票期限时用户可以和代售点达成协议,先付款预定车票,这也是缓解客票销售紧张的一种好方法。订票界面和买票界面差不多,只是在买票页面上多了用户信息栏。当用户想要订票时候,除了需要输入车次信息和票数外,还要输入自己的信息,如:姓名,联系方式,身份证号,地址等。用户的订票信息将会被保存到订票表。4.2.5 退票模块现在火车站退票的原则是:在列车开车前可以退票,只能退还原票价80%的金额。退票模块分为两种退票方式:退票和退订。本系统设置的退票,退订返现为票价的80%,即无论退票还是退订返回给用户的金额是票价的80%。客户完成退票后,客户的在订票
31、表的纪录要进行删除,以保证数据同步。4.2.6 查询模块如果用户以已知车次进行购票,那么直接在买票模块里输入车次就可以进行购票;如果用户买票时只知道出发地点和到达地点,这时可选择使用查询功能,在查询功能支持两种查询方式:按车次查询和按站点查询。按车次查询直接输入车次就可以查出来该车次的车次信息;按站点查询又分为三种查询方式:按起始站,按终点站,按起始站和终点站的组合。无论以哪种方式查询,查询结果里面除了显示每一趟车次的详细信息外,每趟车次后面还有一个购买链接,可以直接跳转到购票页面,用户就可以在这里购买该趟车次车票。4.2.7 个人资料模块个人资料模块是个相对比较小的功能模块,它的作用是供用户
32、查看或者修改自己的资料。用户登录系统主界面后,点个人资料系统就可以显示当前登陆用户的信息。用户可以在上面修改保存自己的信息。4.2.8 留言板模块留言板的功能是让用户可以及时向管理员反馈在系统使用中的出现问题和用户建议,留言时要输入留言标题和内容,作者和留言时间系统可以自动获得,用户不用手动输入。4.2.9 用户管理模块管理用户功能主要是为了方便系统管理员对所有用户的管理,系统管理员在这里可以查看,修改和增加用户。如果某个代售点被取消,管理员就可以在这里删除它的用户信息。4.2.10 车次刷新模块更新车次模块主要作用是方便管理员建立基本车次信息库。管理员可查看,修改,增加删除车次信息和详细路段
33、信息。4.2.11 销售统计模块统计方式选择:按车次,按代售点等。统计结果显示方式,它分为两种:记录和合计。4.3 数据库设计 本系统采用的数据库软件为SQLserver2000,本系统用到的数据库名为selltickets(售票),它里面包括9张表,下面逐一介绍。4.3.1用户表用户表用来存储注册用户的信息,它的结构如表:表4-1字段名称数据类型长度描述序号Int4主键用户名Char10用户名密码Char10密码联系方式Varchar50联系方式负责人Char10负责人单位全称Varchar50单位全称具体地址Varchar20具体地址身份证Char20身份证号代售点编号Int4为代售点用户
34、自动分配编号用户类型Int 4代售点为1,企业用户为24.3.2 车次详细信息表表存储的是车次的具体路段信息,它的结构如表4-2:表4-2字段名称数据类型长度描述序号Decimal9主键车次Char18车次开车时间Datatime8开车时间到达时间Datetime8到达时间出发站Char50出发站到达站Char50到达站行程Decimal9每两站之间的距离4.3.3普通列车价格表普通列车价格表存储的是普通列车的票价计算参数,它的具体结构如表:表4-3 普通列车价格表字段名称数据类型长度描述序号Int4主键里程Int 4路程分段计费普通列车Decimal9普通列车对应路段价格普快列车Decima
35、l9普快列车对应路段价格特快列车Decimal9特快列车对应路段价格空调费率Int9路段空调费率座位类型Char10座位类型4.3.4普通列车卧铺价格表普通列车卧铺价格表存储的是普通列车卧铺票价的计算参数,它的具体结构如表4-4:表4-4 普通列车卧铺价格表字段名称数据类型长度描述序号Int4主键里程Int4路程分段计费上铺Decimal9上铺对应路段的价格中铺Decimal9中铺对应路段的价格下铺Decimal9下铺对应路段的价格空调费率Decimal9路段空调费率车辆类型Char18有普通,普快,特快之分座位类型Char18有软卧和硬卧之分4.3.5空调列车价格表空调列车价格表存储的是空调
36、列车票价的计算参数,它的具体结构如表4-5:表4-5 空调列车价格表字段名称数据类型长度描述序号Int4主键里程Int 4路程分段计费普通列车Decimal9普通列车对应价格普快列车Decimal9普快列车对应价格特快列车Decimal9特快列车对应价格 4.3.6空调列车卧铺价格表空调列车卧铺价格表存储的是空调列车卧铺票价的计算参数,它的具体结构如表4-6: 表4-6 空调列车卧铺价格表字段名称数据类型长度描述序号Int4主键里程Int4路程分段计费上铺Decimal9上铺对应路段的价格中铺Decimal9中铺对应路段的价格下铺Decimal9下铺对应路段的价格车辆类型Char18有普通,普
37、快,特快 之分座位类型char18有软卧和硬卧之分4.3.7订票纪录表 订票纪录表存储的是用户的买票记录和订票信息,买票和订票操作产生的记录有不同的字段,本系统中把两种不同字段放在一张表里,如果订票字段为空,则系统可判断这是一条买票记录,它的具体结构如表4-7:表4-7 订票记录表字段名称数据类型长度描述序号Int4主键车次Char10车次出发站Char10车发站到达站Char10到达站座位类型Char10座位类型票数Decimal9票数总价格Decimal9总价格用户名Char50用户名联系方式Decimal20联系方式身份证Decimal20身份证发车日期Datetime8发车日期时间Da
38、tetime8时间座位号Int4座位号4.3.8留言信息表 留言信息表存储的是用户反馈给管理员的信息,它的具体结构如表4-8:表4-8 留言信息表字段名称数据类型长度描述序号Int4主键 标题Varchar50标题内容Varchar1000留言内容作者Varchar50留言的用户名时间Datetime8发表留言的时间4.3.9新闻信息表新闻信息表存储的是管理员发布的站内新闻,它的具体结构如表4-9:表4-9 新闻信息表字段名称数据类型长度描述序号Int4主键标题Varchar100标题发布时间Datetime8留言时间 内容Varchar5000留言内容4.3.10 客车售票系统E-R图图 4
39、-2 客车售票系统E-R图第5章 系统实现本章主要讲如何在前面分析和设计的基础上通过ASP.NET和sqlserver2000来实现售票系统。下面将详细介绍每个功能模块是如何实现。在讲系统实现之前,现讲一下是如何对数据库进行操作的,因为本系统的所有模块基本上都涉及到数据库操作。SQLserver2000数据库属于关系型数据库,而关系型数据库中最重要的也是最基础的是数据表 ,数据表是一系列相关数据的集合,每张数据表可分为行和列,每一行是一条记录,每一列是一个字段,为了存储数据,可以建立相应的数据表,使得数据以一条一条的记录方式存储在数据表中,当然这些都是用数据库管理软件来实现的。数据库和数据表创
40、建好后,我们就可以对数据库进行读写操作,是用来对数据库进行操作的,是一组有.NET Framework提供的对象类的名称,用于数据存储中的数据交互,需要注意的是,使用的是数据存储的概念,而不是数据库的概念,就是说,不但可以处理数据库中的数据 ,还可以处理其他存储方式中的数据,例如XML格式,Excel格式和文本文件格式中的数据。A与ado相比有更大的可伸缩性和互操作性,它的一大特点是可以对断开的数据集进行操作。在Web应用程序中,由于用户在使用网页访问数据库时,网络一般是断开的,只有当用户发出请求时才与数据库建立连接,一旦请求完毕,就断开连接,这样做的最大好处就是可以节约服务器的资源,所以这个
41、特性可以很大程度上提高应用程序的效率。建立数据库连接的方法很多,如果使用的OLE DB编程接口,就要使用OleDbConnection对象,如果使用的是SQL Server编程接口,就要使用Sqlconnection对象(本系统使用的就是Sqlconnection对象)3。如果要与数据库中的某一张表建立连接,在服务器资源管理器中找到对应的表,把它拖到对应的页面中去,系统会自动生成sqlDataAdapter对象和sqlConnection对象,我们可以用sqlConnection来生成数据集dataset对sqlDataAdapter按照提示向导做简单的配置,就可以在程序里调用它。5.1登陆模
42、块5.1.1实现原理 用户输入用户名和密码点击登录后,系统首先判断用户名和密码是否为空,若为空,则显示输入信息不完整,若都不为空,则以用户名查询用户表,将查询到的信息填入数据集,若数据集中信息小于一行,则用户非法,反之,则登陆成功,进入系统页面。5.1.2关键代码 点击”登陆”按扭后执行下面代码:private void Button_denglu_Click(object sender, System.EventArgs e) if(this.sqlConnection_user.State.ToString()=Closed)this.sqlConnection_user.Open();/
43、 如果数据库连接状态为关闭,打开数据库连接if(this.text_name.Text.Trim()!=&this.text_password.Text.Trim()!=)/如果用户名和密码栏不为空 string sql=select * from user where 用户名=+this.text_name.Text.Trim()+and 密码=+this.text_password.Text.Trim()+;/构造查询语句:以用户名为条件查询数据库, this.sqlDataAdapter_user.SelectCommand.CommandText=sql; this.sqlDataAd
44、apter_user.Fill (this.dataSet_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,用户名或密码输入不完整!); /如果用户名和密码栏由空值,提示错误信息。 Sessionusername=null; 5.2注册模块