版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、小构成员陈雷目录一、飞机售票管理系统的开发背景.二、飞机售票管理系统的可行性分析.技术可行性分析操作可行性分析经济可行性分析法律可行性.三、飞机售票管理系统的需求分析.任务归纳.设计及拘束条件.系统工作原理.系统流程图.数据流图.数据字典与数据库表.性能要求.运转环境要求.四、飞机售票管理系统的系统设计.系统整体设计.系统的详细设计.五、飞机售票管理系统的编码.程序设计语言和数据库系统的选择系统模块的编码实现.六、飞机售票管理系统的测试.系统测试的归纳.系统的测试方法和步骤.系统的测试过程.一、飞机售票管理系统的开发背景航空客运业务出生已有近一个世纪了,作为现有交通工具中最方便快捷的一种,它确
2、的确实地给民众的生活、出行带来了极大的方便。互联网、邮寄机票以及电子机票技术的发展正在改变航空企业的销售业务,使全球的花费者不出户就可以买到机票。自九十年代以来,因特网技术的飞速发展正在迅速地改变着人们的生活方式,因特网正在由科学工作者的工具变成一般百姓获守信息、进行沟通的场所,而因特网的商业应用则尤其惹人注视。航空企业在因特网上成立网上售票系统不但方便了游客,还节约了航空企业的代理花费,加速了资本周转,这为售票成本居高不下的航空企业带来了无穷活力。跟着信息技术在管理上愈来愈深入而广泛的应用,管理信息系统的实行在技术上已逐渐成熟。管理信息系统是一个不停发展的新式科学,任何一个单位要生计要发展,
3、要高效率地把内部活动有机地组织起来,就一定成立起和自己特色相适应的管理信息管理系统。航空售票系统将供给机票的舱位及时盘问、机票预约等功能,是拓展机票业务的最正确手段,能提高企业的工作效率、运作成本。因此航空售票系统的开发应用是势在必行的了。计算机技术以日新月异的速度浸透到各个领域,成为人们生活中不行缺乏的一部分。迄今,我国的信息化建设已获得很大进步,在这样的环境下,航空信息化建设也向着严实、科学、完美的管理系统发展。机票预定系统是一个很好的项目,不但方便游客,并且可以减少工作人员的劳动强度,提高工作效率和企业的有名度,提高企业的整体水平,加强企业核心竞争力。跟着网络的进一步应用,增加Inter
4、net订票和人性化的服务,为企业的决策供给强有的支持,让游客满意,势必为社会的科技进步带来更大的社会性效益和经济效益。机票预定系统主要有两个特色:一是品种丰富,选择余地大。二是购买方便,用户不用亲身去机场排队买票,直接在软件系统中就可以预定购买机票。本系统依据航空企业管理的实质要求,经过实质的需求分析,采纳C#作为编程语言,使用MicrosoftVisualStudio2015开发工具,以SqlServer2014做数据后台,对机票预约管理系统进行开发。整个系统从切合操作简单,界面友善,灵巧,合用,安全的要求出发,达成了机票预约的全过程,包含机票信息管理,客户信息管理,航线信息管理,系统管理等
5、管理工作。二、飞机售票管理系统的可行性分析可行性是指开发一个新系统也许改正/升级一个旧系统将会对用户带来多少利益的一个胸襟,可行性分析是为了可以用最小的代价在尽可能短的时间内确定问题能否可解,可认为用户方的决策者进行以下决策供给依照:按原计划进行,对项目进行必需的调整或撤消项目。技术可行性分析技术可行性就是从技术的角度出发,分析研究所要开发项目的可行性。经对现有网上机票的销售和预定的实质观察发现,绝大多数的航空企业、网络企业及酒店等机票销售管理系统都已具备计算机软硬件和网络环境。现有的网络硬件及软件的系统已经完好可以满足构造这样一个系统的实力。加上此刻各种软件开发IDE如MicrosoftVi
6、sualStudio以及数据库软件如MicrosoftSqlSever的帮助,使得系统开发更加便利。总之,技术环境已满足开发和使用的条件。操作可行性分析操作可行性,又称社会可行性或运转可行性,是对开发系统在一个给定的工作环境中能否运转或运转利害程度的量度。本系统力求做到界面简洁雅观,方便用户使用,用户只要会简单的上机操作即可轻松迅速地使用本系统。其余,本系统还将设计相关的帮助文档与顺便指南,方便用户查阅航班信息并进行机票订购操作,若有特别原由,也可进行改签退订功能。经济可行性分析经济可行性是对将要开发的系统的成本效益进行分析的一个胸襟。一个项目的开发成本、运转花费和收益这些经济要素决定了该系统
7、能否值得的做,只有投资估计能带来收益的系统才值得进一步去考虑。该系统的开发使用的是已经很成熟的技术和语言,系统的操作和保护都很简单和方便,这些都表示了该系统是一个低成本的系统,该系统的运转花费很低,在运营中的成本颠簸不大。在后期的运营中,经济效益主要的本源是网站广告的投放。总的来说,该系统拥有经济上的?可行性。飞机售票管理系统的开发是成立在计算机技术广泛应用和普及于社会各个行业的实质工作中,并可以极大的减少航空企业、机票销售点工作人员的工作压力,降低售票开支,简化售票流程,提高机票管理系统的效率和正确性,规范游客信息的管理。从长远角度来看,此系统的投入会给航空企业带来机票销售信息统计完好化、数
8、据办理智能化、经济估量科学化、业务办理高效化等一系列效益。其余本系统采纳开发软件均为开源免费,可大大降低开发成本,一旦项目达成投入使用,即可见效益。法律可行性全部开发软件均采纳开源免费软件,无版权瓜葛。无违反国家法律相关规定。三、飞机售票管理系统的需求分析任务归纳飞机订票管理系统,依据使用者来划分可分为用户、管理员两类,用户可以先以游客身份进入系统进行盘问机票操作,但欲购票则需注册登录。用户的基本功能有注册、登陆、盘问(航班盘问可以依据相应的初步地与目的地信息进行盘问,可以按最短时间以及最低价格排序、依据相应的目的地信息盘问周边介绍信息,使用户旅途更加方便)。管理员则是系统的大管家,主若是录入
9、基本的航空企业信息,飞机信息,座位信息,航班信息,价格信息,以及终点周边介绍信息。从系统目的来说,系统的根本目标是服务用户,为用户供给方便的购票服务,所以系统以用户为核心,全部的工作以及人员都是环绕用户为用户供给服务。设计及拘束条件本系统面向的对象最罕有两个:用户和管理员。所以本系统有一个面向客户的平台和一个面向管理员的平台面向客户,要有注册、登录、用户信息管理、航班盘问、订票、改签、退票等服务;面向管理员有登录、录入航班信息、更新航班信息、盘问用户信息、盘问用户订单信息等服务。所以系统分为用户和管理员两个模块。系统工作原理系统工作原理描述以下:注册。新用户注册为会员,由用户将填好的注册信息表
10、单提交到控制层,由控制层调用数据逻辑层操作数据库,达成用户的注册。用户登录。此工作对用户输入的登录信息进行考据,判断用户输入的用户名和密码能否般配,若不般配则无权使用该系统,反之则能合法使用系统。改正个人信息。此工作接受用户对个人信息的盘问及改正。航班盘问。此工作主若是对数据库中航班信息进行盘问,显告满足用户盘问条件的航班信息。订票。用户盘问到自己需要的航班信息后可进行订购操作,在付款成功后,系统会将相关信息一并发送到机票订购模块,经过考据办理,将信息写入订单信息储存。改签。此工作接受用户的改签信息,依据用户ID和预定的航班号,对满足改签条件的已预定机票进行改签办理。退票。此工作接受用户的退票
11、信息,依据用户ID和预定的航班号,对满足退票条件的已预定机票进行退票办理。航班信息录入。此工作接收由管理员录入的航班信息,并将其导入数据库进行储存,供用户盘问和预定。航班信息更新。此工作接收管理员对某些需要更新的航班信息的更新操作,并改正储存在数据库中相关信息。特价机票设置。此工作接收管理员录入的特价机票信息,并将其导入数据库的特价机票储存文件中进行储存,显示在用户界面。订单盘问。用户可以盘问自己已达成的或未出行的订单,管理员可以查察所实用户的全部订单。终点周边介绍。此工作接收管理员录入终点周边美食、景点及酒店等相关信息,供用户盘问,使用户旅途更加便利。系统流程图飞机售票管理系统,顾名思义,系
12、统供给飞机票销售服务克方便用户在系统长进行飞机票的订购事务,事务则泛指用户的要求(需求)。订票程序则是指针对用户的需求所做出的相应的办理包含盘问(航班盘问、特价机票的设定、最短时间以及最低价格介绍、终点周边介绍)、登陆、注册、选座、支付、退票与改签。订票信息文件则是数据库,包含用户个人中心信息、航班信息、飞机信息、价格信息、座位信息以及管理员录入的终点的周边介绍信息。订票信息则是订票程序的输出数据,再经由订票信息生成程序,形成用户最后的订票表(即用户订票的信息)。系统流程图如图1所示。图1系统流程图数据流图顶层数据流图:第一层数据流图:第二层数据流图:用户注册:航班信息盘问:数据字典与数据库表
13、6.1数据字典用户信息文件=用户ID+用户密码+用户姓名+用户性别+用户身份证+用户电话+用户账户名字:用户信息文件别名:无描述:记录飞机售票管理系统顶用户的一些基本信息定义:用户ID+用户密码+用户姓名+用户性别+用户身份证+用户电话+用户账户地址:个人中心管理员信息文件=管理员ID+管理员密码+管理员姓名+管理员性别名字:管理员信息文件别名:无描述:记录飞机售票管理系统中管理员的一些基本信息定义:管理员信息表=管理员ID+管理员密码+管理员姓名+管理员性别地址:显示界面航空企业信息文件=企业ID+企业名+企业描述名称:航空企业信息文件别名:无描述:记录航空企业基本信息定义:航空企业信息文件
14、=企业ID+企业名+企业描述地址:显示界面飞机信息文件=飞机ID+飞机型号+企业ID+座位等级+座位数目名称:飞机信息文件别名:无描述:记录飞机基本信息定义:飞机信息文件=飞机ID+飞机型号+企业ID+座位等级+座位数目地址:显示界面机票信息文件=姓名+性别+管理员编号名字:机票信息文件别名:无描述:记录机票的一些基本信息定义:机票信息表=机票号+用户号+座位号地址:显示界面座位信息文件=座位ID+座位等级+飞机ID+能否被选名称:座位信息文件别名:无描述:记录飞机中座位的基本信息定义:座位信息文件=座位ID+座位等级+飞机ID+能否被选地址:显示界面航班信息文件=航班ID+飞机ID+始发地+
15、终点站+出发日期+腾跃时间+翱翔时间+能否特价名字:航班信息文件别名:无描述:记录飞机售票管理系统中航班的一些基本信息定义:航班ID+飞机ID+始发地+终点站+出发日期+腾跃时间+翱翔时间+能否特价地址:显示界面航班价格信息文件=航班ID+座位等级+价格名称:价格信息文件别名:无描述:记录飞机中座位价格基本信息定义:价格信息文件=航班ID+座位等级+价格地址:显示界面订单信息文件=订单ID+航班ID+飞机ID+座位ID+用户ID名字:改签信息文件别名:无描述:记录机票订单的一些基本信息定义:订单信息表=订单ID+航班ID+飞机ID+座位ID+用户ID地址:显示界面6.2数据库表用户信息表字段名
16、描述数据种类长度能否为空主/外键Userid用户IDvarchar16否主键Userpwd用户密码varchar16否Username用户姓名varchar8否Usersex用户性别varchar2Useridnum用户身份证varchar18否Usertel用户电话varchar11否Usermoney用户账户float否管理员信息表字段名描述数据种类长度能否为空主/外键Adminid管理员IDvarchar8否主键Adminpwd管理员密码varchar16否Adminname管理员姓名varchar8否Adminsex管理员性别varchar2航空企业信息表字段名描述数据种类长度能否为空
17、主/外键Aid企业IDvarchar8否主键Aname企业名varchar16否Ades企业描述varchar1000飞机信息表字段名描述数据种类长度能否为空主/外键Aircraftid飞机IDvarchar8否主键Aircraftmodle飞机型号varchar8否Aid企业IDvarchar16否外键Sitlevel座位等级varchar8否Sitnum座位数目int否座位信息表字段名描述数据种类长度能否为空主/外键Sitid座位IDvarchar8否主键Sitlevel座位等级varchar8否Aircraftid飞机IDvarchar8flag能否被选int航班信息表字段名描述数据种类
18、长度能否为空主/外键Fid航班IDvarchar16否主键Aircraftid飞机IDvarchar16否外键Fstart始发地varchar16否Fend终点站varchar16否Fstartdate出发日期date否Fstarttime腾跃时间varchar16否Ftime翱翔时间int否Fbudgetticket能否特价varchar2航班价格信息表字段名描述数据种类长度能否为空主/外键Fid航班IDvarchar8否主键Sitlevel座位等级varchar8否主键price价格float2否订单信息表字段名描述数据种类长度能否为空主/外键Tid订单IDint否主键Fid航班IDvar
19、char8否外键Aircraftid飞机IDvarchar8否外键Sitid座位IDvarchar8否外键Userid用户IDvarchar8否外键性能要求7.1精度系统办理的正确性和及时性是系统的必需性能。在系统设计和开发过程中,要充分考虑系统当前和未来可能承受的工作量,使系统的办理能力和响应时间可以满足企业对信息办理的需求。由于机票预约管理系统的盘问功能对于整个系统的功能和性能达成举足轻重。作为系统的好多数据本源,而机票数目和时间又影响企业的决策活动,其正确性很大程度上决定了机票预约系统的成败。在系统开发过程中,一定采纳必定的方法保证系统的正确性。7.2时间特色要求机票预约系统在平常办理中
20、的响应速度为秒级,达到及时要求,以及时反响信息。在进行统计分析时,依据所需数据量的不一样而从秒级到分钟级,原则是保证操作人员不会由于速度问题而影响工作效率。7.3故障办理要求机票预约系统是直接面对使用人员的,而使用人员常常对计算机其实不是特别熟习。这就要求系统可以供给优异的用户接口,易用的人机交互界面。要实现这一点,就要求系统应该尽量使用用户熟习的术语和中文信息的界面;针对用户可能出现的使用问题,要供给足够的在线帮助,缩短用户对系统熟习的过程。机票预约系统中涉及到的数据是航空企业的相当重要的信息,系统要供给方便的手段供系统保护人员进行数据的备份,平常的安全管理,系统不测崩溃数据的恢复等工作。7
21、.4其余特地要求机票预约管理系统在开发过程中,应该充分考虑今后的可扩大性。比方订票系统的方式的改变,用户盘问的需求也会不停的更新和完美。全部这些,都要求系统供给足够的手段进行功能的调整和扩大。而要实现这一点,应经过系统的开放性来达成,既系统应是一个开放系统,只要切合必定的规范,可以加入和减少系统的模块,配置系统的硬件。经过软件的维修、替代达成系统的升级和更新换代。运转环境要求8.1硬件需求PIII800或更高品位微机或笔录本电脑内存最少128MB或以上方能保证运转正常硬盘1G或以上可用储存空间8.2软件需求操作系统:Windows10IDE:MicrosoftVisualStudio2015数
22、据库系统:SQLServer2014四、飞机售票管理系统的系统设计系统整体设计1.1机票预定管理系统的软件构造图1.2机票预定管理系统的系统构造图系统的详细设计2.1用户注册模块1)用户注册模块功能与限制功能:用户经过注册获取可以使用系统功能的账号限制:用户输入基本信息进行注册时,身份证号一定满足18位,手机号一定满足11位,用户密码一定介于616位。“输入”:注册时需要输入用户基本信息:用户ID、用户密码、用户性别、用户身份证、用户电话、用户账户。“办理”:注册阶段是将用户输入的用户基本信息录入到数据库的用户信息表中,使其输入的用户名有效。“输出”:注册结束后输出用户的注册结果(成功、失败)
23、2)用户注册模块PAD图3)用户注册模块的交互界面2.2盘问机票与机票订购模块1)盘问机票与机票订购模块的功能与限制功能:用户登录注册的用户名后进行盘问机票功能,用户输入相关信息后点击盘问按钮,则系统自行导出吻合用户要求的机票进入机票订购模块,用户订购心仪的机票(航班、座位),用户经过虚假充值功能进行充值,而后进行机票的支付操作。最后根据用户的购票信息生成用户订单并储存到数据库中。限制:用户购票只好在用户已经登陆后才能进行,当前只好自己购票,不可以帮他人购票“输入”:机票盘问:用户输入要求(出发城市、到达城市、出发时间)机票订购:用户选择心仪的航班号和座位号机票支付:用户输入需要充值的金额“办
24、理”:机票盘问:系统查找数据库中吻合用户输入要求的信息机票订购:系统生成用户订单并储存到数据库中机票支付:依据用户输入的充值金额更新数据库的相关数据并进行机票购买操作“输出”:机票盘问:输出吻合用户要求的航班信息机票订购:输出订购信息结果(成功、失败)机票支付:输出支付信息结果(成功、失败)2)盘问机票与机票订购模块的PAD图3)盘问机票与机票订购模块的交互界面2.3个人中心模块1)个人中心模块的功能与限制功能:用户登陆注册的用户名、用户改正用户密码、用户探究所选机票终点城市的美食、景点和酒店信息。限制:用户探究所选机票终点城市的美食、景点和酒店信息仅有三条信息。“输入”:用户登陆:用户输入登
25、录信息(用户名与密码)用户改正密码:用户输入改正密码时的信息用户发现:选择已有终点城市、选择美食、景点也许酒店按钮“办理”:用户登陆:查找数据库与之般配的用户名用户改正密码:依据用户改正的密码信息更新数据库相关信息用户发现:依据用户输入的终点信息及所选的服务查找数据库中切合条件的相关信息“输出”:用户登录:输出用户登录信息结果(成功、失败)用户改正密码:输出用户改正密码信息结果(成功、失败)用户发现:输出发现信息结果(成功、失败)2)个人中心模块的PAD图3)个人中心模块的交互界面2.4管理员操作模块1)管理员操作模块的功能与限制功能:进行航空企业信息、飞机信息、座位信息、航班信息、航班价格信
26、息、终点周边推荐信息的录入及盘问全部达成订单的信息及更新航班的相关信息(能否特价及价格变动)。限制:录入信息存在冗余、录入相关文档一定满足必定的格式“输入”:信息导入:输入要导入的信息(在相关文档中批量输入及在系统中单条输入)更新订单:输入要改正的操作盘问订单:选择导入全部订单信息的按钮也许输入用户身份证进行盘问操作“办理”:信息导入:依据管理员的输入的需要导入的信息,更新数据库的相关信息并进行储存更新订单:依据管理员的输入的改正信息,更新数据库的相关信息并进行存储盘问订单:查找数据库中切合条件的订单信息“输出”:信息导入:输出导入信息结果(成功/失败和能否除去表格)更新订单:输出更新信息结果
27、(成功/失败)盘问订单:输出盘问信息结果2)管理员操作模块的PAD图3)管理员操作模块的交互界面2.5机票改签与退订模块1)机票改签与退订模块的功能与限制功能:依据用户需求进行机票改签与退订功能,退订和改签会加收20%手续费,由系统自行计算手续费,由用户决定能否退票限制:改签与退票功能界限不够明确,改签一定先退票后在进行盘问功能“输入”:依据交互界面,进行相应的改签或退票选择“办理”:退票改签以后更新数据库相应的信息“输出”:进入机票盘问模块重新购票2)机票改签与退订模块的PAD图3)机票改签与退订模块的交互界面五、飞机售票管理系统的编码程序设计语言和数据库系统的选择1.1程序设计语言本系统采
28、纳C#面向对象程序设计语言。C#是一种安全的、坚固的、简单的、优雅的,由C和C+衍生出来的面向对象的编程语言。它在继承C和C+强盛功能的同时去掉了一些它们的复杂特色(比方没有宏和模版,不允好多重继承)。C#综合了VB简单的可视化操作和C+的高运转效率,以其强盛的操作能力、优雅的语法风格、创新的语言特色和便利的面向组件编程的支持成为.NET开发的首选语言。并且C#成为ECMA与ISO标准规范。C#看似基于C+写成,但又融入其余语言如Pascal、Java、VB等。C#是一种最新的、面向对象的编程语言。它使得程序员可以迅速地编写各种基于Microsoft.NET平台的应用程序,Microsoft.
29、NET供给了一系列的工具和服务来最大程度地开发利用计算与通信领域。正是由于C#面向对象的优异设计,使它成为成立各种组件的理想之选无论是高级的商业对象还是系统级的应用程序。使用简单的C#语言构造,这些组件可以方便的转变成XML网络服务,从而使它们可以由任何语言在任何操作系统上经过Internet进行调用。最重要的是,C#使得C+程序员可以高效的开发程序,而绝不损失C/C+原有的强盛的功能。由于这类继承关系,C#与C/C+拥有极大的相似性,熟习近似语言的开发者可以很快的转向C#。1.2数据库系统本系统使用SqlServer数据库系统。SQLServer是Microsoft企业推出的关系型数据库管理
30、系统。拥有使用方即可伸缩性好与相关软件集成程度高等长处,可超越从运转MicrosoftWindows98的膝上型电脑到运转MicrosoftWindows2012的大型多办理器的服务器等多种平台使用。MicrosoftSQLServer是一个全面的数据库平台,使用集成的商业智能(BI)工具提供了企业级的数据管理。MicrosoftSQLServer数据库引擎为关系型数据和构造化数据供给了更安全靠谱的储存功能,使您可以成立和管理用于业务的高可用和高性能的数据应用程序。系统模块的编码实现2.1注册模块代码解说:注册模块,第一新建注册界面,提示用户输入相关信息,将用户输入的信息读入程序变量,检查用户
31、输入信息的合法性,包含检查用户密码的位数,一定大于等于6位,且不同意大于16位,用户确认密码一定与从前输入的密码一致,身份证号码一定是18位,手机号码为11位,假若有一项不切合要求,提示用户重新输入相关信息,以后与数据库建立连接,在将用户输入的注册信息录入到数据库从前先检查用户名能否已被注册,假如已被注册提示用户重新选择用户名,不然将用户输入的注册信息录入到数据库中。模块代码:privatevoidbtnRegisterNow_Click(objectsender,EventArgse)string/用户名string/用户密码string/确认密码string/用户姓名string/用户身份
32、证号string/用户手机string/用户性别if(password!=confirmpwd)MessageBox.Show(密码不一致,请重新输入,提示);return;if(username=|password=|confirmpwd=|name=|userid=|usertel=|usersex=)MessageBox.Show(请输入完好信息,提示);return;if(password.Length16)MessageBox.Show(密码长度大于16,请重新输入,提示);return;if(password.Length0)恭贺您,DialogResultMessageBoxBu
33、ttons.OK);if(diares=diares=MessageBox.Show(注册成功!必定要记住自己的密码呦DialogResult.OK)_,this.Close();elseMessageBox.Show(注册失败!,提示,MessageBoxButtons.YesNo,MessageBoxIcon.Warning);return;catch(Exceptionex)MessageBox.Show(ex.Message);2.2登录模块代码解说:用户点击登录按钮,先检查用户能否输入了用户名和密码,假如没有输入,提示用户输入相关信息,以后检查用户能否选择登录身份(用户或管理员),假
34、如没有则提示用户先选择登录身份,再以后连接数据库,检查数据库中能否存在该用户或管理员账号,以及密码能否正确,假如正确则进入系统,不然提示用户用户名或密码错误。用户可以选择能否记住密码,假如选择记住密码,则将用户的用户名和密码储存到数据库的另一张表中,下一次登录前,加载登录界面时,输入用户名的下拉框中会显示记住密码的用户账号,选择该账号,密码自动填补(近似QQ记住密码功能)。模块代码:用来检查用户能否在文本框中输入数据privateboolCheckTxt()boolb=iftrue;b=false;ifb=false;returnb;判断用户名和密码能否正确privateboolIsLogin
35、(stringname,stringpwd,inttype)boolb=false;using(SqlConnectioncon=newSqlConnection(strCon)stringsql;if(type=1)sql=selectcount(*)fromUserswhereUserid=nameandUserpwd=pwd;elsesql=selectcount(*)fromAdminswhereAdminid=nameandAdminpwd=pwd;using(SqlCommandcmd=newSqlCommand(sql,con)trycon.Open();给sql中的参数赋值Sq
36、lParameters1=newSqlParameter(name,name);SqlParameters2=newSqlParameter(pwd,pwd);intn=Convert.ToInt32(cmd.ExecuteScalar();if(n0)b=true;catch(Exceptionex)MessageBox.Show(ex.Message);connectDatabase=false;returnb;加载记住密码的用户名(从数据库中盘问已记住密码的用户名并增加到用户名下拉框中)privatevoidLoad_name()using(SqlConnectioncon=newSql
37、Connection(strCon)stringsql=select*fromUsernameid;using(SqlCommandcom=newSqlCommand(sql,con)trycon.Open();using(SqlDataReaderreader=com.ExecuteReader()while(reader.Read()Usernameandpwdnameid=newUsernameandpwd();nameid.id=nameid.pwd=Convert.ToInt32(readeruserid);Convert.ToString(readerusername);Conve
38、rt.ToString(readeruserpwd);catch(Exceptionex)MessageBox.Show(ex.Message);记住用户名及密码privatevoidmemory()假如选中记住密码,并且用户名及密码正确,则将用户信息写入数据库if(checkBox1.Checked)intflag=0;/标示此用户名能否已经保存密码stringstringusing(SqlConnectioncon=newSqlConnection(strCon)stringsql=select*fromUsernameidwhereusername=nameusing(SqlComman
39、dcom=newSqlCommand(sql,con);trycon.Open();name,name);using(SqlDataReaderreader=com.ExecuteReader()if(reader.HasRows)flag=1;catch(Exceptionex)MessageBox.Show(ex.Message);if(flag=0)/数据库中没有此用户相关信息sql=insertintoUsernameid(username,userpwd)values(name,pwd)using(SqlCommandcom=newSqlCommand(sql,con);trynam
40、e,name);pwd,pwd);com.ExecuteNonQuery();catch(Exceptionex)MessageBox.Show(ex.Message);else/数据库中已有其相关信息sql=updateUsernameidsetuserpwd=pwdwhereusername=name;using(SqlCommandcom=newSqlCommand(sql,con)tryname,name);pwd,pwd);com.ExecuteNonQuery();catch(Exceptionex)MessageBox.Show(ex.Message);2.3盘问购票模块代码解说
41、:第一检查用户能否选择出发地和目的地及出发日期,再检查出发地和目的地能否相同,假如没有选择出发地或目的地或出发日期,也许出发地和目的地一致则提示用户重新选择,而后连接数据库,盘问相关航班,假若有相关航班信息则显示给用户,不然提示用户不存在该航班信息。假若有该航班信息,用户可点击确认购票按钮,以后将选择座位界面显示给用户,用户在选择的座位号后点击购票按钮后,将显示支付界面,支付界面第一显示该航班的基本信息,以后需要用户进行乘客信息确认,点击确认信息时,会检查用户账户余额,并与所购机票的价格进行比较,假如余额不足,则提示用户能否需要进行充值,用户点击确定进入充值界面对账户进行充值,以后再次点击确认
42、乘客信息,假如充值足够即可购票。模块代码:/盘问航班信息voidselectFlight(stringsql)if(comboBox1.Text=|comboBox2.Text=)MessageBox.Show(初步地与目的地不行为空!);return;if(comboBox2.Text=comboBox1.Text)MessageBox.Show(初步地与目的地不行相同!);return;string/出发地string/目的地string/出发日期/出发日期格式变换strings=time.Split(strings2=s0.Split(if(s21.Length=1);/);s21=0+
43、s21;if(s22.Length=1)s22=0+s22;time=s20+-+s21+-+s22;盘问相关航班信息using(SqlConnectioncon=newSqlConnection(strCon)trycon.Open();using(SqlCommandcmd=newSqlCommand(sql,con)start,start);des,des);time,time);using(SqlDataReaderreader=cmd.ExecuteReader()if(!reader.HasRows)MessageBox.Show(对不起,没有找到您盘问的航班,提示);return
44、;有该航班则显示相关航班信息while(reader.Read()intdgvflight.Rowsindex.Cells0.Value=readerFid.ToString();dgvflight.Rowsindex.Cells1.Value=readerAircraftid.ToString();dgvflight.Rowsindex.Cells2.Value=readerFstart.ToString();dgvflight.Rowsindex.Cells3.Value=readerFend.ToString();dgvflight.Rowsindex.Cells4.Value=Conv
45、ert.ToDateTime(readerFstartdate).ToShortDateString();dgvflight.Rowsindex.Cells5.Value=readerFstarttime.ToString();dgvflight.Rowsindex.Cells6.Value=readerFtime.ToString();dgvflight.Rowsindex.Cells7.Value=readerSitlevel.ToString();dgvflight.Rowsindex.Cells8.Value=readerprice.ToString();catch(Exception
46、ex)MessageBox.Show(ex.Message);加载界面显示所选航班的座位信息供用户选择privatevoid选择座位_Load(objectsender,EventArgse)using(SqlConnectioncon=newSqlConnection(strCon)trycon.Open();stringsql=select*fromselect_sitwhereFid=FidandSitlevel=Sitlevelandflag=0orderbySitid;using(SqlCommandcmd=newSqlCommand(sql,con)Fid,Fid);Sitleve
47、l,SitLevel);显示座位信息以供用户选择using(SqlDataReaderreader=cmd.ExecuteReader()if(!reader.HasRows)MessageBox.Show(对不起,您选择的航班已经没有座位了,提示);return;while(reader.Read()intdgvflight.Rowsindex.Cells0.Value=readerdgvflight.Rowsindex.Cells1.Value=readerdgvflight.Rowsindex.Cells2.Value=readerdgvflight.Rowsindex.Cells3.V
48、alue=readerFid.ToString();Aircraftid.ToString();Fstart.ToString();Fend.ToString();dgvflight.Rowsindex.Cells4.Value=Convert.ToDateTime(readerFstartdate).ToShortDateString();dgvflight.Rowsindex.Cells5.Value=readerdgvflight.Rowsindex.Cells6.Value=readerdgvflight.Rowsindex.Cells7.Value=readerdgvflight.R
49、owsindex.Cells9.Value=readerFstarttime.ToString();Ftime.ToString();Sitlevel.ToString();price.ToString();catch(Exceptionex)MessageBox.Show(ex.Message);加载支付界面时显示航班基本信息privatevoid支付_Load(objectsender,EventArgse)using(SqlConnectioncon=newSqlConnection(strCon)trycon.Open();stringsql=string.Format(select*
50、fromselect_sitwhereFid=0andSitlevel=1andSitid=2,Fid,Sitlevel,Sitid);using(SqlCommandcmd=newSqlCommand(sql,con)using(SqlDataReaderreader=cmd.ExecuteReader()while(reader.Read()label11.Text=readerFid.ToString();label12.Text=readerAircraftid.ToString();label13.Text=readerFstart.ToString();label14.Text=r
51、eaderFend.ToString();label15.Text=Convert.ToDateTime(readerFstartdate).ToShortDateString();label16.Text=readerFstarttime.ToString();label17.Text=readerSitlevel.ToString();label18.Text=readerSitid.ToString();label19.Text=readerFtime.ToString();label20.Text=readerprice.ToString();catch(Exceptionex)Mes
52、sageBox.Show(ex.Message);groupBox3.Visible=false;确认自己信息后点击确认按钮privatevoidbutton3_Click(objectsender,EventArgse)stringm=label20.Text;floatmoney=float.Parse(m);floatusermoney=0;using(SqlConnectioncon=newSqlConnection(strCon)trycon.Open();stringsql=selectUsermoneyfromUserswhereUserid=userid;/盘问用户余额usin
53、g(SqlCommandcmd=newSqlCommand(sql,con)userid,userid);using(SqlDataReaderreader=cmd.ExecuteReader()while(reader.Read()m=usermoney=Convert.ToString(readerfloat.Parse(m);Usermoney);catch(Exceptionex)MessageBox.Show(ex.Message);余额不足,转去充值界面if(usermoneymoney)DialogResultdires=MessageBox.Show(您的账户余额不足(先充值,
54、能否此刻进行充值?,提示,MessageBoxButtons.OKCancel);if(dires=DialogResult.OK)+usermoney.ToString()+元),需要充值界面addmoney=new充值界面();addmoney.userid=userid;addmoney.ShowDialog();else/买票过程DialogResultdia=MessageBox.Show(您当前账户可用余额为:确认购票?,提示,MessageBoxButtons.OKCancel);if(dia=DialogResult.OK)+usermoney.ToString()+,能否us
55、ing(SqlConnectioncon=newSqlConnection(strCon)trycon.Open();向数据库中写买票记录,更新相关表信息stringsql=insertintoTicket(Fid,Aircraftid,Sitid,Userid,Pid)values(Fid,Aircraftid,Sitid,userid,Pid);using(SqlCommandcmd=newSqlCommand(sql,con)Fid,Fid);Aircraftid,Aircraftid);Sitid,Sitid);userid,userid);Pid,0);cmd.ExecuteNonQ
56、uery();sql=updateAircraftsetSitnum=Sitnum-1whereAircraftid=AircraftidandSitlevel=Sitlevel;using(SqlCommandcmd=newSqlCommand(sql,con)Aircraftid,Aircraftid);Sitlevel,Sitlevel);cmd.ExecuteNonQuery();sql=/标志此票已经被购买了,不可以重复购买updateSitsetflag=1whereSitid=SitidandAircraftid=AircraftidandSitlevel=Sitlevel;us
57、ing(SqlCommandcmd=newSqlCommand(sql,con)Sitid,Sitid);Aircraftid,Aircraftid);Sitlevel,Sitlevel);cmd.ExecuteNonQuery();更新账户余额sql=updateUserssetUsermoney=Usermoney-moneywhereUserid=useridusing(SqlCommandcmd=newSqlCommand(sql,con);userid,userid);money,money);cmd.ExecuteNonQuery();MessageBox.Show(购买成功!,提
58、示);catch(Exceptionex)MessageBox.Show(ex.Message);else/撤消购票2.4管理员信息录入模块代码解说:管理员可经过导入文件或手动增加将相关信息储存到数据库中,导入文件将满足格式要求的文件读入到相关控件中显示,管理员可连续进行手动增加或删除、改正,点击提交按钮,系统将相关控件中的信息逐行储存到数据库中供用户盘问。模块代码:导入文件,参数是显示读入文件信息的控件publicvoidopenFile(DataGridViewdatagv)OpenFileDialogofd=newOpenFileDialog();ofd.InitialDirectory
59、=斌Desktopofd.Filter=文本文件|*.txt;ofd.ShowDialog();stringfilepath=ofd.FileName;if(filepath!=);stringlines=File.ReadAllLines(filepath,Encoding.Default);逐行读取文件foreach(stringitemsinlines)/以空格分开数据项stringtemp=items.Split(newchar,StringSplitOptions.RemoveEmptyEntries);if(temp.Length=datagv.ColumnCount)int在控件
60、中显示文件信息for(inti=0;idatagv.ColumnCount;i+)datagv.Rowsindex.Cellsi.Value=tempi;elseMessageBox.Show(打开的文件格式不正确,提示);return;elseMessageBox.Show(请先选纲领打开的文件);/进行提交操作voidupload(DataGridViewdataGridView,inttype)提交前检查能否有信息,没有则提示用户最少增加一行数据ifMessageBox.Show(请最少增加一行数据,提示,MessageBoxButtons.OK,MessageBoxIcon.Aster
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 农村房屋协议转让协议书
- 医疗事故赔偿协议内容
- 《电机技术应用》课件 2.2.4 异步电动机的机械特性
- 中学课程实施方案(2024-2025学年)
- (2024)电子商务创业园项目可行性研究报告建议书(一)
- 2024年度个人年终工作总结范文三
- 【9上英RJ】亳州市利辛县部分学校联考2023-2024学年九年级上学期期末考试英语试题
- 2024秋新沪科版物理8年级上册教学课件 第6章 熟悉而陌生的力 第2节 测量:用弹簧测力计测量力
- 2023年高收缩腈纶项目筹资方案
- 2023年柔印CTP项目筹资方案
- 取向硅钢冷轧断带的原因分析
- 设备投资评估分析表-20100205
- 砼路面拆除及恢复施工方案
- ApoE基因分型检测
- 监狱监区年度工作总结
- 石灰窑烘炉及开炉方案
- 复苏囊的使用PPT
- (完整版)工业与民用配电设计手册
- 教学论文】《自制教具应用于初中物理有效教学的研究》课题研究报告【教师职称评定】
- 安全生产工作者个人先进事迹材料(word版本)
- 执业药师注册委托书.doc
评论
0/150
提交评论