ImageVerifierCode 换一换
格式:DOCX , 页数:23 ,大小:60.46KB ,
资源ID:5650094      下载积分:2 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/5650094.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(机票预订系统.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

机票预订系统.docx

1、机票预订系统 软 件 学 院 综合训练项目报告书课程名称 .NET框架程序设计 项目名称 机票预订系统 专业班级 软件13- 7班 组 别 第9组 成 员 任课教师 刘亮 1 设计时间2016-1-19 2 设计任务 当今世界,以信息技术为主要标志的科技进步日新月异,高科技成果向现实生产力的转化越来越快。纵观全球经济发展,信息技术和信息产业已经成为经济增长的主要推动力之一,正在改变着传统的生产和经营方式以至生活方式,发达国家经过产业结构的升级和经济结构的转型已进入信息经济阶段。信息资源已经成为国民经济和社会发展的战略资源,信息化水平也已成为现代水平和综合国力的重要标志。今年是“十五”计划开局之

2、年,中共十五届五中全会通过的国民经济和社会发展第十个五年计划建议中已明确指出:“信息化是当今世界经济和社会发展的大趋势,也是我国产业优化升级和实现工业化、现代化的关键环节。”“大力推进国民经济和社会信息化,是覆盖现代化建设全局的战略举措。”,可见,党和国家已将国民经济和社会信息化放在优先发展位置,体现了先进生产力的客观要求,是一项重要的战略决策。这是民航加快发展的机遇,更是民航信息化的难得机遇。 随着知识经济的到来,人类已经逐步进入信息化社会,信息增长的速度越来越快,人们希望利用先进的管理理论方法手段来得到并处理越来越多的信息,以提高工作效率和管理水平。由于信息资源对人们生活的重要性,不断提高

3、信息的收集,传输,加以利用等活动,日益成为人们社会生活的重要组成部分。网上机票预订管理系统的产生和发展正好满足人们的这种需求。现在将详细介绍我的课程设计机票预订系统。 3 设计内容 随着民航事业的壮大,人们消费水平的提高,在现实生活中,乘坐民航的消费者也越来越多。由于中国人口众多,订购机票成为了旅客们最头疼的问题!怎样为旅客提供高效,便捷的服务是国家在航空运输中应该首要解决的问题。通过网络实现机票预定已经成为一种消费的时尚,给消费者带来极大的便捷!预定查询系统因此在各机票预定网点中的作用也越显重要。因此,开发一套具有完整的存储,查询,核对,打印机票功能的实时机票预定系统更显紧迫。机票预定系统应

4、克服存储乘客信息少,查询效率低下等问题外,更重要的是其安全性,可靠性,这关系到航班的乘客的安全及准确,本系统因面向广大机票预定网点,因此要能在售票网点中普及,则需要开发一个功能全,价格能被顾客所接受的系统。系统要实现的基本功能是航班的售票,订票,退票,乘客信息的管理;而系统在以后扩展时还可以实现的功能有:对机组工作人员的管理,预定机票的送票情况管理等。此系统的开发由我们分模块完成,而我所负责的模块是实现系统的售票,订票,退票功能。要求系统能有效、快速、安全、可靠和无误的完成上述操作。并要求客户机的界面要简单明了,易于操作,服务器程序利于维护。机票预定管理系统是典型的信息管理系统,其主要开发包括

5、后台数据库的建立和维护,以及前端应用程序的开发两个方面。对于前者要求建立起数据库一致性和完整性强,数据安全性好的库。而后者则要求应用程序功能完备,易使用等特点。3.1问题分析 3.1.1新用户注册新用户可以注册,注册时输入用户名可以查询用户可不可用,可用就可以注册,注册时可以判断用户输入的密码和验证密码是否相同,相同才给以注册, 如果满意可以点注册,注册成功后用户可以选择不用在回到登陆界面,可以直接 陆到用户主界面,以后就可以用这个用户登录了。3.1.2验证密码登陆验证登陆名密码,正确进入主菜单,如果输入相应用户密码正确,跳转;不正确则清空登录框,最多可以输入三次,三次不正确系统会自动关闭。3

6、.1.3用户信息界面 主窗体的用户信息界面,用户点击个人查询按钮,可以把自己的个人信息显示到界面上,还可以对自己的信息进行相应的修改,还可以点击我的机票查询,查询该用户的订票记录;选择订购往返票可以继续预订该架航班的往返票,否则只能订购单程票;3.1.4订票界面主窗体的订票界面,你可以点击你想查询的有关机票的信息的按钮(查询出发地,查询目的地,航线查询,客户信息查询)获得相关信息的表,根据表的内容,你可以选中你要定的票信息,点确定后在下面会显示你的机票的相关内容,如果满意可以点击订票,把相关信息添加到机票数据库表中,跳转到支付界面;如果不满意,可以点击返回,所有信息清空,再重新选择; 图1机票

7、预定系统业务系统功能图3.2程序设计1.本程序中用到的所有抽象数据类型的定义及实现;数据表的数据结字典 表名描述航空信息表用于存储各个航班的航行情况票价用于存储各个航班路线的价钱等信息机票订单用于存储用户的下单情况用户信息用于存储用户的个人基本信息,完成注册、登陆等操作往返票用于存储客户下单的往返票信息单程票用于存储客户下单的单程票信息 数据库序列的数据字典序列描述seqid用于实现订单的订单号的自增和航空信息表的id信息的自增触发器的数据字典触发器描述in_wangfanpiao实现机票订单表完成删除操作后将这条数据插入往返票表航空信息表;票价表;机票订单表;用户信息表;往返票表;单程票表;

8、将E-R图转换成关系模型,关系的主码用横线标识:航空信息表(did,航空公司,出发城市,到达城市,飞机型号,起飞时间 ,到达时间,出发日期)票价(did ,航空公司 ,出发城市,到达城市 ,飞机型号 ,起飞时间 ,到达时间 ,出发日期,单程票价 ,往返票价)机票订单(did ,航空公司 ,出发城市 ,到达城市 ,飞机型号),起飞时间 ,到达时间 ,出发日期 ,单程票价 ,往返票价 ,订购时间)用户信息(id ,用户名 ,密码 ,联系方式 ,身份 , 状态)往返票(did ,航空公司 ,出发城市 ,到达城市 ,飞机型号,起飞时间 ,到达时间 ,出发日期 ,往返票价 ,订购时间 )单程票(did

9、,航空公司,出发城市,到达城市,飞机型号 ,起飞时间 ,到达时间 ,出发日期 ,单程票价 ,订购时间)2.主程序的流程及函数的调用关系图。3.3测试与分析3.3.1测试给出测试数据,输出测试的结果,测试数据应该完整(覆盖算法各种情况)。在登陆部分我用了session对象来保持登陆的状态,用for循环控制登陆输入的次数,用exexcutescalar来返回选择数据库用户名和密码的有无情况;在各个部分显示数据库的数据用到了gridview控件,在支付界面使用了for循环选择gridview的行的长度,并且使用checkbox来检查哪行被选中,从而实现支付算法;从gridview中选择要插入的行到数

10、据库中也是这样设计的,不过相应的代码不同,其他用gridview中的编辑选项实现删除操作,将删除的text改成选购,当删除某一行时,利用数据库中设置的触发器将这行数据插入到已购订单表中,从而实现选购。购票成功后还可以利用gridview来显示,不满意还可以删除之。3.3.2分析1.调试过程中遇到的问题是如何解决的以及对设计与实现的回顾、讨论和分析;运行程序的时候出现了很多bug,经过一番分析最终得到了解决。比如插入数据的时候遇到插错行或者不能插入的情况。2.算法的时间复杂度和空间复杂度的分析,改进设想。 从这方面分析,我的算法比较简单但是相同的代码写了很多遍,我觉得应该适当的将这部分相同的代码

11、放在一个函数中,用其他模块来调用,这样才能提高软件的运行效率和可读性。3.4 代码源程序代码及必要注释。MasterPage.master.csprotected void Page_Load(object sender, EventArgs e) DateTime d = DateTime.Now; Label1.Text = d.ToLongDateString() + d.ToLongTimeString(); if(Sessionpass=right) HyperLink1.Text=已登录; HyperLink1.NavigateUrl = /用户订单.aspx; if (Sessi

12、ontiaozhuanzhuye = right) Label2.Text = 登陆超时,请重新登陆!; 登陆.aspx.cs protected void Button1_Click(object sender, EventArgs e) String conStr = ConfigurationManager.ConnectionStringsConnectionString.ConnectionString; OracleConnection conn = new OracleConnection(conStr); conn.Open(); OracleCommand cmd = new

13、 OracleCommand(SELECT 用户名 FROM 用户信息 WHERE 用户名 = + TextBox1.Text + , conn); if (Button1.TabIndex 3) Sessiontiaozhuanzhuye = right; Response.Redirect(Default.aspx); else if (cmd.ExecuteScalar() = null) Label1.Text = 用户名不存在!; Sessionpass = null; /double.Parse( Button1.TabIndex+; else cmd.CommandText =

14、select 用户名,密码 from 用户信息 where 用户名 = + TextBox1.Text + and 密码 = + TextBox2.Text + ; /cmd.Connection if (cmd.ExecuteScalar() = null) Label1.Text = 密码错误,请重新输入!; Sessionpass = null; Button1.TabIndex+; else cmd.CommandText = select 用户名,密码,状态 from 用户信息 where 用户名 = + TextBox1.Text + and 密码 = + TextBox2.Tex

15、t + and 状态=1; if (cmd.ExecuteScalar() = null) Sessionpass = right; cmd.CommandText = update 用户信息 set 状态=1 where 用户名 = + TextBox1.Text + ; cmd.ExecuteNonQuery(); conn.Close(); Response.Redirect(用户订单.aspx); /Label1.Text = 此用户id已经处于登录状态; else Label1.Text = 此用户id已经处于登录状态; Button1.TabIndex+; /*Sessionpas

16、s = right; cmd.CommandText = update 用户信息 set 状态=1 where 用户名 = + TextBox1.Text + and 密码 = + TextBox2.Text + ; cmd.ExecuteNonQuery(); Sessionkhbj = TextBox1.Text; Response.Redirect(用户订单.aspx);*/ conn.Close(); 票价.aspx.cs String conStr = ConfigurationManager.ConnectionStringsConnectionString.ConnectionS

17、tring; protected void Page_Load(object sender, EventArgs e) DateTime d = DateTime.Now; Label2.Text = d.ToLongDateString() + d.ToLongTimeString(); protected void Button2_Click(object sender, EventArgs e) OracleConnection conn = new OracleConnection(conStr); conn.Open(); OracleCommand cmd = new Oracle

18、Command(select 用户名 from 用户信息 where 用户名 = + TextBox1.Text + , conn); if(cmd.ExecuteScalar()=null) Label1.Text = 用户不存在,验证失败,请重新验证; else Label1.Text = 验证通过; protected void Button1_Click(object sender, EventArgs e) OracleConnection conn = new OracleConnection(conStr); conn.Open(); for (int ii = 0; ii Gr

19、idView1.Rows.Count; ii+) CheckBox cc = GridView1.Rowsii.FindControl(CheckBox1) as CheckBox; if (cc.Checked) SqlDataSource1.InsertParameters.Clear(); SqlDataSource2.InsertParameters.Clear(); SqlDataSource2.InsertParameters.Add(DID, TextBox1.Text); SqlDataSource2.InsertParameters.Add(航空公司, GridView1.R

20、owsii.Cells1.Text); SqlDataSource2.InsertParameters.Add(出发城市, GridView1.Rowsii.Cells2.Text); SqlDataSource2.InsertParameters.Add(到达城市, GridView1.Rowsii.Cells3.Text); SqlDataSource2.InsertParameters.Add(飞机型号, GridView1.Rowsii.Cells4.Text); SqlDataSource2.InsertParameters.Add(起飞时间, GridView1.Rowsii.Ce

21、lls5.Text); SqlDataSource2.InsertParameters.Add(到达时间, GridView1.Rowsii.Cells6.Text); SqlDataSource2.InsertParameters.Add(出发日期, GridView1.Rowsii.Cells7.Text); SqlDataSource2.InsertParameters.Add(单程票价, GridView1.Rowsii.Cells8.Text); SqlDataSource2.InsertParameters.Add(往返票价, GridView1.Rowsii.Cells9.Tex

22、t); /SqlDataSource2.InsertParameters.Add(订购时间, Label2.Text); /SqlDataSource1.InsertCommand = insert into 机票订单 values(+a+,+b+,+c+,+d+,+t+,+f+,+g+,+h+,+i+,+k+); /Sessionccsj = Label2.Text; Sessionkhbj = TextBox1.Text; SqlDataSource2.Insert(); Label1.Text = 成功加入我的订单; else Label1.Text = 加入订单失败!请重试或返回; c

23、onn.Close(); 往返票.aspx.csprotected void Page_Load(object sender, EventArgs e) Sessionwangfan=right; if (Sessionzhifu = right & Sessionwangfan = right) Button3.Text = 已购往返票订单; for (int ii = 0; ii GridView2.Rows.Count; ii+) String conStr = ConfigurationManager.ConnectionStringsConnectionString.Connecti

24、onString; OracleConnection conn = new OracleConnection(conStr); conn.Open(); OracleCommand cmd = new OracleCommand(delete from 单程票 where 出发城市 = + GridView2.Rowsii.Cells2.Text + and 到达城市= + GridView2.Rowsii.Cells3.Text + , conn); cmd.ExecuteNonQuery(); conn.Close(); protected void Button2_Click(objec

25、t sender, EventArgs e) if (Label1.Text = |Label1.Text =0) Label2.Text = 支付失败!; else Response.Redirect(支付.aspx); protected void Button1_Click(object sender, EventArgs e) double sum = 0.0; for (int ii = 0; ii GridView1.Rows.Count; ii+) CheckBox cc = GridView1.Rowsii.FindControl(CheckBox1) as CheckBox;

26、 if (cc.Checked) sum += (double.Parse(GridView1.Rowsii.Cells8.Text); Label1.Text = sum.ToString(); protected void Button3_Click(object sender, EventArgs e) if (Sessionzhifu = right & Sessionwangfan = right) Sessionzhifu = ; Sessionwangfan = ; else for (int ii = 0; ii GridView2.Rows.Count; ii+) Strin

27、g conStr = ConfigurationManager.ConnectionStringsConnectionString.ConnectionString; OracleConnection conn = new OracleConnection(conStr); conn.Open(); OracleCommand cmd = new OracleCommand(delete from 往返票 where 出发城市 = + GridView2.Rowsii.Cells2.Text + and 到达城市= + GridView2.Rowsii.Cells3.Text + , conn

28、); cmd.ExecuteNonQuery(); conn.Close(); /*调用删除代码*/ 修改密码.aspx.cs try conn.Open(); OracleCommand cmd = new OracleCommand(select 用户名 from 用户信息 where 用户名 = + TextBox1.Text + , conn); if(cmd.ExecuteScalar()=null) Label1.Text = 用户名不存在!; TextBox1.Text = TextBox2.Text = TextBox3.Text = ; else cmd.CommandTex

29、t = update 用户信息 set 密码=:mima where 用户名=:yonghuming; cmd.Parameters.Add(new OracleParameter(:yonghuming, OracleType.VarChar); cmd.Parameters:yonghuming.Value = TextBox1.Text; cmd.Parameters.Add(new OracleParameter(:mima, OracleType.VarChar); cmd.Parameters:mima.Value = TextBox2.Text; cmd.ExecuteNonQuery(); TextBox1.Text = TextBox2.Text = TextBox3.Text = ; Label1.Text = 修改成功!; conn.Close();

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1