




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、航班查询系统一、背景、目的和意义二、主要功能描述三、软/硬件环境四、数据库设计五、界面设计六、编程过程中所遇难题七、分工协作八、收获一、背景:学习 了数据库软件 SQL 2005和 Microsoft Visual Studio 2008后想到了 用这2个软件做这个航班查询系统,通过ASP做出SQL的界面并导入存储 过程对功能进行实现!目的和意义:机票查询系统是为机场工作人员和客户提供机票信息查询等与机票相关内 容和管理的系统,它具有开放体系结构的、易扩充的、易维护的、具有良好人机 界面的优点.它除克服了存储乘客信息少,查询效率低下等问题外,更重要的是 其安全性,可靠性。它为企业的决策层提供准
2、确、精细、迅速的机票销售信息, 为乘客出行提供方便,便于机场工作人员对机票信息进行管理,提高了机场工作 人员对机票管理的工作效率。为便于旅客通过代售点查询航班信息,要求系统能 有效、快速、安全、可靠和无误的完成上述操作。并要求客户机的界面要简单明 了,易于操作,服务器程序利于维护。航班查询系统需要完成功能主要有:(1)管理员对航班信息的输入、修改和查询,对用户信息的查询。(2)旅客信息的注册和登录及对航班信息的查询。1.1数据分析航班信息(航班号,机型,航空公司,起飞城市,到达城市,起飞时间,到 达时间,总票数,剩余票数)旅客信息(用户名,密码,性别,年龄)1.2用户活动分析用户通过系统查询航
3、班信息。用户活动图:打印信息二、主要功能描述2.1航班信息维护模块提供航班信息的录入、删除、修改。可以录入航班情况。机型,航空公司,起飞城市,到 达城市,起飞时间,到达时间,总票数,剩余票数。当航班信息改变时可以修改航班信息数 据库。2.2航班业务处理模块提供查询航班剩余票数功能。客户可以登录航班购票系统进行查询;如果该航班已经无票, 可以换乘。系统功能图系统流程图数据流图1:三、软/硬件环境:1=使用 Microsoft Visual Studio 2008 和 Microsoft SQL Server 2005 电脑是 windows? 64bit操作系统。4、数据字典1)数据项表2-1数
4、据项名含义说明数据类型长度说明航班号航班信息varchar50航班号码机型航班信息varchar10航班所属机型航空公司航线信息char10航班所属公司起飞城市航线信息char10飞机起飞城市到达城市航线信息char10飞机到达城市起飞时间航班信息char10飞机起飞时间到达时间航班信息char10飞机到达时间总票数航班信息varchar50航班的总票数剩余票数航班信息varchar50航班的剩余票数Username用户信息char10用户名Psw用户信息char10密码Sex用户信息char10性别Age用户信息char10年龄ulevel用户信息char10用户等级2)数据结构表2-2名称
5、简述组成company定义公司相关信息公司名,公司地址,公司代码,公司电话ticket定义机票相关信息机票号,座位,票价,航班号Flight定义航班相关信息航班号,出发地,到达地,出发时间,到达时间,公司代码,航班号air定义飞机相关信息航程,飞机号,票价3)数据流名称简述来源去向组成用户旅客相关 信息旅客本身登录购票系统UsernamePswSexAgeulevel4)数据存储表2-3名称简述组成Company定义公司相关信息CID,Cname, Caddress, CphoneFlight ticket定义机票相关信息ticketID, price, seat number, Flight
6、 numberCustomer定义旅客相关信息ID number, name, Pnumber, AddressAir定义飞机相关信息Air number, Voyage, price5)处理过程名称说明输入输出处理User login用户登录用户名,密码, 性别,年龄,用 户等级旅客档案整理用户信息5、概念结构设计1.1概念结构设计的方法概念设计阶段采用自底向上的方法,即自顶向下的进行需求分析,然后再自 底向上的进行概念结构设计。对已经细化到无法再分的阶段逐步集成在一起,最 终合成一个全局概念模式。1.2概念结构设计的步骤第一步是进行局部视图的设计:由于高层的数据流图只能反映系统的概貌,而中
7、层流图能较好的反映系统中各局部应用的子系统组成。因此我们们先逐一的设计分E-R图。第二步是进行视图的集成:各子系统的E-R图设计好之后,下一步就是要将所有的分E-R图 合成一个系统的总E-R图,一般有两个方式,多个分E-R图一次集成,另一种是一次集成两 个分E-R图。概念模型设计ER图航程飞机到达号出发时间时间目的地使用票价查询姓名公司代码航班拥有机票公司代码号电话号码出发拥地有订票住址身份证号公司公司订票时间公司电话名地址机票票座号价位身份证.n航班号航班m顾n客航空公司飞机机票逻辑设计将ER图转换为关系模式 顾客(用户名,密码,性别,年龄)。航班(航班号,机型,航班公司,起飞城市,到达城市
8、,起飞时间,到达时间,总票数,剩余票数)。Customer (Username, psw, sex, age, ulevel)Flight晰班号,机型,航班公司,起飞城市,到达城市,起飞时间,到达时间,总票数,剩 余票数)下划线标注的属性为主码。以上关系模式均为BCNF。物理设计in一、为了提高在表中搜索元祖的速度,在实际实现的时候应该基于码机建立索引。各表中 简历索引的表项:(l)Customer(Username)(2)Flight (航班号)二、用SQL实现设计 1、建立 Customer 表CREATE TABLE dbo.用户表( username char (10) COLLATE
9、 Chinese_PRC_CI_AS NOT NULL, psw char(10) COLLATE Chinese_PRC_CI_AS NULL, sex char(10) COLLATE Chinese_PRC_CI_AS NULL, age char(10) COLLATE Chinese_PRC_CI_AS NULL, ulevel char (10 COLLATE Chinese_PRC_CI_AS NULL,CONSTRAINT PK_用户表PRIMARY KEY CLUSTERED ( username ASC)WITH (PAD_INDEX = OFF, IGNORE_DUP_K
10、EY = OFF) ON PRIMARY )ON PRIMARY2、建立 Airplane 表CREATE TABLE dbo.Airplane(航班号varchar (50 ) COLLATE Chinese_PRC_CI_AS NOT NULL,机型varchar(10)COLLATEChinese_PRC_CI_ASNULL,航空公司char(10)COLLATEChinese_PRC_CI_ASNULL,起飞城市char(10)COLLATEChinese_PRC_CI_ASNULL,到达城市char(10)COLLATEChinese_PRC_CI_ASNULL,起飞时间char(1
11、0)COLLATEChinese_PRC_CI_ASNULL,到达时间char(10)COLLATEChinese_PRC_CI_ASNULL,总票数varchar 50) COLLATE Chinese_PRC_CI_AS NULL,剩余票数varchar(50) COLLATE ChinesePRCCIAS NULL,CONSTRAINT PK_Airplane PRIMARY KEY CLUSTERED航班号ASC)WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF) ON PRIMARY)ON PRIMARY3、顾客操作注册(register)INS
12、ERT INTO 用户表(Username,psw,sex,age, ulevel)VALUES(#Username,#psw,#sex,#age #ulevel);注销(unregister)DELETE CustomerWHERE(Username=#Username);本系统涉及到的存储过程:s a至藐存储过程0 昌 dbo.CheckU&e-rS国日应,查春航班长0昌dbcn查看信息0园日应,查春用户表0目dboifi班号S 目 l3 dbo.g 的地0目dbu,注册,注耕算蒿LJ用户名密码性别I里年龄用户等级管理员T生册返回这是注册界面,代码如下:using System;using
13、 System.Collections;using System.Configuration;using System.Data;using System.Linq;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.HtmlControls;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Xml.Linq;using System.Data.SqlClien
14、t;public partial class Default2 : System.Web.UI. Pageprotected void Page_Load(object sender, EventArgs e)TextBox1.Focus();protected void Button2_Click(object sender, EventArgs e)Response.Redirect(Default.aspx);protected void Button1_Click(object sender, EventArgs e)string Add =注册”;string constr = Co
15、nfigurationManager.ConnectionStringssss.ToString();SqlConnection conn = new SqlConnection();conn.ConnectionString = constr;if (conn.State != ConnectionState.Open) conn.Open();SqlCommand cmd = new SqlCommand(Add, conn);cmd.CommandType = CommandType.StoredProcedure;这是告诉程序这是执行存储过程SqlParameter Parameter
16、1new SqlParameter(username,SqlDbType.Char,10);SqlParameterParameter2=new SqlParameter(psw,SqlDbType.Char,10);SqlParameterParameters=new SqlParameter(sex,SqlDbType.Char,10);SqlParameterParameter4 =new SqlParameter(age,SqlDbType.Char,10);SqlParameterParameters=new SqlParameter(ulevel,SqlDbType.Char,10
17、);Parameter1.Value =Parameter2.Value =Parameter3.Value =Parameter4.Value =Parameter5.Value =TextBox1.Text;TextBox2.Text;DropDownList1.Text;TextBox3.Text;DropDownList2.Text;cmd.Parameters.Add(Parameter1);cmd.Parameters.Add(Parameter2);cmd.Parameters.Add(Parameter3); cmd.Parameters.Add(Parameter4); cm
18、d.Parameters.Add(Parameter5); DataTable table = new DataTable(); SqlDataAdapter adapter = new SqlDataAdapter(cmd); adapter.Fill(table); conn.Close();Response.Redirect(Default.aspx); 代码中引用了注册的存储过程:SET ANSI_NULLS ON GOSET QUOTED_IDENTIFIER ON GOcreate proc dbo.注册 ( username char(10), psw char(10), sex
19、 char(10), age char(10), ulevel char(10) ) as begininsert into 用户表(username,psw, sex, age,ulevel) values(username,psw,sex,age,ulevel)end GOSET ANSI_NULLS OFF GOSET QUOTED_IDENTIFIER OFF GO这是登录界面登录时必须选对用户等级,不然会报错,登录界面代码如下:using System;using System.Configuration;using System.Data;using System.Linq;usi
20、ng System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.HtmlControls;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Xml.Linq;using System.Data.SqlClient;public partial class _Default : System.Web.UI. Page protected void Page_Load(object
21、sender, EventArgs e)TextBox1.Focus();protected void Button2_Click(object sender, EventArgs e)Response.Redirect(Default.aspx);protected void Button1_Click(object sender, EventArgs e)string Add = CheckUser;string constr = ConfigurationManager.ConnectionStringssss.ToString();SqlConnection conn = new Sq
22、lConnection();conn.ConnectionString = constr;if (conn.State != ConnectionState.Open)conn.Open(); SqlCommand cmd = new SqlCommand(Add, conn); cmd.CommandType = CommandType.StoredProcedure; SqlParameter Parameter1 = new SqlParameter(username, SqlDbType.Char, 10); SqlParameter Parameter2 = new SqlParam
23、eter(psw, SqlDbType.Char, 10); SqlParameter Parameters = new SqlParameter(ulevel, SqlDbType.Char, 10); Parameter1.Value = TextBox1.Text; Parameter2.Value = TextBox2.Text; Parameter3.Value = DropDownList1.Text; cmd.Parameters.Add(Parameter1); cmd.Parameters.Add(Parameter2); cmd.Parameters.Add(Paramet
24、er3); DataTable table = new DataTable(); SqlDataAdapter adapter = new SqlDataAdapter(cmd); adapter.Fill(table); SqlDataReader dr = cmd.ExecuteReader();/调用executereader ()方法得到dr对象 dr.Read(); if (dr.HasRows)/如果有返回记录存在 if (DropDownList1.Text =管理员) Sessionpass = admin; Response.Redirect(manager.aspx); e
25、lse Sessionpass = guest; Response.Redirect(guest.aspx); else Response.Write(alert(用户名或密码或用户等级错误! );); return; 代码中使用的登录的存储过程: set ANSI_NULLS ON set QUOTED_IDENTIFIER ON GOALTER PROCEDURE dbo.CheckUserusername char(10) ,psw char(10),ulevel char(10)ASBEGINselect * from 用户表where username = username and
26、psw=psw and ulevel=ulevelEND这是言理员贝面航班号机型航空公司飞城布到法城布k飞时间倒达时间点票教剌金蒸教Fr:%r:方1羊CA1321蓝= 血目国航北京厂:12 17 200912 17 2009LOO96CAL324M音以,北三J ?12 17 200912 17 2009LOO96提Tiji=、济南1J 11 二源U If 一:gIXi如,波音王须12 17 2009T 17CCIXi波音南航二1北京1? 17 ij1;. 17 -:1 II用户杰C73206宝客-UJ南顷:1西玉12 17 200912 17 2009LOO100心并片一T;JI.叫J辟1:
27、11 二1 的H Iflu;沱CZ6501年2工|南航沈阳r-l1 17 的r itCC1幻FI1508麦道东航南昴沆阳12 17 200912 17 2009LOO100HU78031项.曰112 17 200912 17 2009LOO100JUcLLL波音七、m日1J 11 二源U If 一:gIXiHIT61王须_t、m12 17 2009r itCCIXi莒理航班mT4r?W容初1东航51? 17 ij1;. IT - :jj管理员进去之后可以查询航班表,用户表和管理航班,对信息进行添加修改 这里是通过拉控件方式做的,如下图:通过拉 FormView 和 SqlDataSource
28、两个控件,用 FormView 绑定 SqlDataSource,然后在SqlDataSource中配置数据源,然后新建连接如下图:选择存储过程fcSStSiS - SqlUataSourwl定义白定真语句或有慵过程单击遥项卡为曜作创建技Li号乱SELECT UPDATE INSERT DELETESQL查音三.亘欧生成器曲.完成出朝肖配殷瞄g - SqlDataSouncel炯查询r看要*1出够阿巨依振.请mm “影氐查带.看多幸此向导 馅捐击“完成“,|航既号 和型 航卷司起修沛重怯城市起飞时间重蜓时间总惠数剩童尊叛12J122123123122122123123123CAI 321g北京
29、r州12 17 2DO9-12 17 200910D听CAI324殴广州12 17 200&12 17 200&1009&CA151912 17 200912 17 2009100100CA4209g12 17 200912 17 2009100woCZ31&2始ltrt广州”京12 17 2OO9112 17 200&IMtIMetc n ruTEt cmtiStpl-JLIr-x.T r T r r iTli-lFi-in HF n Kt Kt At mA!jE暨有囚SELECT 话句(U:查巷信息商E完吱(E取踏点击完成即可,用户表则是GridView和SqlDataSource控件,方
30、法类似就不再列举!管理员界面这里涉及到2个存储过程:dbo .查看航班表dbo .查看用户表航班表的程序:asp:SqlDataSource ID=SqlDataSource1 runat=server”ConnectionString=SelectCommand=查看航班表SelectCommandType=StoredProcedure用户表的程序:asp:SqlDataSource ID=SqlDataSource2 runat=server”ConnectionString=SelectCommand=查看用户表SelectCommandType=StoredProcedure航班号:
31、CA 机型:波音 航空公司: 起飞城市: 到达城市: 起飞时间:1-2航京州1713国北广129 O O2到达时间:12 17 2009 总票数:100 刺余票数:% 编辑删除新建1 2 3 4 5 6 7 8 9 10 .返回这是航班管理界面航班号:|1力机型:1去 TOC o 1-5 h z 航空公司:您-起飞城市:|任3到达城市:”3起飞时间:|伪一到达时间:依总票数:|任3刺余票数:|123-插入取销退回航班号:123 机型:123 航空公司:123 起飞城市:123 到达城市:123 起飞时间:123 到达时间:123 总票数:123 刺余票数:123编辑删除新建1 2 3 4 5
32、6 7 8 9 10返回通过新建可以插入新的信息!管理航班的程序:asp:SqlDataSource ID=SqlDataSource1 runat=server”ConflictDetection=CompareAllValues”ConnectionString=DeleteCommand=DELETE FROM Airplane WHERE 航班号型=original航空公司)original_起飞城市)original_到达城市)original_起飞时间)original_到达时间)original _机型)OR (机型IS NULL AND original_ 机型 IS NULL
33、) ANDoriginal航 空公司original起 飞城市original_到达城市original起 飞时间OROROROROR(航空公司(起飞城市(到达城市(起飞时间(到达时间ISISISNULLNULLNULLNULLANDANDANDAND=original航班号 AND (机(航空公司=(起飞城市(到达城市(起飞时间(到达时间ISISISISNULL)NULL)NULL)NULL)ANDANDANDANDISIS NULL AND original_ 到达时间 IS NULL) AND (总票数original_总票数)OR (总票数IS NULL AND original_总票
34、数 IS NULL) AND (剩余票数 original剩余票数)OR (剩余票数IS NULL AND original_剩余票数 IS NULL)InsertCommand=INSERT INTO Airplane(航班号,机型,航空公司,起飞城市, 到达城市,起飞时间,倒达时间,总票数,剩余票数)VALUES (航班号,机型,航空公司, 起飞城市,到达城市,起飞时间,到达时间,总票数,剩余票数)”OldValuesParameterFormatString=original_0”SelectCommand=查看信息”UpdateCommand=UPDATE Airplane SET 机
35、型=机型,航空公司=航空公司,起 飞城市=起飞城市,到达城市=到达城市,起飞时间=起飞时间,到达时间=到达时间,总 票数=总票数,剩余票数=剩余票数WHERE 航班号=original航班号AND (机型= original _机型)OR (机型IS NULL AND original_机 型 IS NULL) AND (航空公司=original_ 航空公司)OR(航空公司ISNULLANDoriginal_航空公司ISNULL)AND (起飞城市=original_起飞城市)OR(起飞城市ISNULLANDoriginal_起飞城市ISNULL)AND (到达城市=original_到达城
36、市)OR(侄U达城市ISNULLANDoriginal_到达城市ISNULL)AND (起飞时间=original_起飞时间)OR(起飞时间ISNULLANDoriginal_起飞时间ISNULL)AND (到达时间=original_到达时间)OR (到达时间IS NULL AND original.到达时间 IS NULL) AND (总票数=original_ 总票数)OR (总票数IS NULL AND original_总票数 IS NULL) AND (剩余票数=original_剩 余 票数)OR (剩余票数IS NULL AND original_剩余票数 IS NULL)Se
37、lectCommandType=StoredProcedureasp:Parameterasp:Parameterasp:Parameterasp:Parameterasp:Parameterasp:Parameterasp:ParameterName=original_机型Type=String /Name=original_航 空公司”Name=original_起 飞城市Name=original _至|达城市Name=original_起飞时间Name=original_ 到达时间lypeStringType=StringType=StringType=StringType-Strin
38、g/asp:ParameterName=original_总票数”Type=String /Name=original_剩余票数”Type=String /asp:Parameterasp:Parameterasp:Parameter/asp:Parameterasp:Parameterasp:Parameterasp:Parameterasp:Parameterasp:Parameterasp:Parameterasp:ParameterName-剩余票数”Iype-String /Name-original_M班号”Iype-String /Name-original_机型”?ype-St
39、ring /Name-original_M 空公司”Name-original_起 飞城市Name-original _至|达城市Name-original_起 飞时间Name-original_ 到达时间m一c) . . lype-Stringlype-Stringlype-Stringlype-Stringlype-String/asp:ParameterName-original_剩余票数”Iype-String /asp:Parameterasp:Parameterasp:Parameterasp:Parameterasp:Parameterasp:Parameterasp:ParameterName-机型”Iype-String /Name-航空公司Name-起飞城市Name-到达城市Name-起飞时间Name-到达时间Iype-StringIype-StringIype-StringIype-StringIype-String/asp:ParameterName-剩余票数”Iype-String /这里是系统自动生成的导入存储过程的代码有Update, Delete, Insert插入,删除, 些功能的代码修改这这是航班查询页面机型:查询航班号:| |如目的地查询这是用户登陆后的界
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 7.4 长江三角洲区域的内外联系 教学设计 湘教版八年级地理下册
- 劳动项目一 洗袜子教学设计-2025-2026学年小学劳动三年级上册人教版《劳动教育》
- 2025年县域电力公司智能电网-自动化项目经理竞聘面试题集
- 第8课 编码管理我知道教学设计小学信息科技人教版2024四年级全一册-人教版2024
- 2025年人工智能领域招聘面试模拟题全解析
- 2025年乡镇民政办儿童工作招聘模拟题及答案详解集
- 2025年乡村品牌策划思维深度解析初级面试题及应对策略探讨
- 2023六年级英语下册 Unit 2 Good Health to You Lesson 9 Eat More Vegetables and Fruit说课稿 冀教版(三起)
- 13《桥》教学设计-六年级语文上册统编版
- 2025军事史试题及答案解析图
- 【MOOC】英语写作-西北工业大学 中国大学慕课MOOC答案
- 台球厅员工工作流程
- 5203措施巷作业规程
- 小班歌唱活动《小手拍拍》
- 转租房转租合同
- 147-2020-PM01 安全防护及维修技术文件应用学习通课后章节答案期末考试题库2023年
- 东华大学画法几何及工程制图第2章平面
- 油气管道保护工(中级)题库(516道)
- JJF 1012-2007湿度与水分计量名词术语及定义
- GB/T 25729-2010粮油机械撞击松粉机
- GB/T 13912-2020金属覆盖层钢铁制件热浸镀锌层技术要求及试验方法
评论
0/150
提交评论