航班查询系统_第1页
航班查询系统_第2页
航班查询系统_第3页
航班查询系统_第4页
航班查询系统_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、航班查询系统背景、目的和意义二、主要功能描述三、软/ 硬件环境四、数据库设计五、界面设计六、编程过程中所遇难题七、分工协作八、收获一、背景:学习了数据库软件 SQL 2005和 Microsoft Visual Studio 2008后想到了用这2个软件做这个航班查询系统,通过ASP做出SQL的界面并导入存储 过程对功能进行实现!目的和意义:机票查询系统是为机场工作人员和客户提供机票信息查询等与机票相关内容和管理的系统,它具有开放体系结构的、易扩充的、易维护的、具有良好人机 界面的优点它除克服了存储乘客信息少,查询效率低下等问题外,更重要的是 其安全性,可靠性。它为企业的决策层提供准确、精细、

2、迅速的机票销售信息, 为乘客出行提供方便,便于机场工作人员对机票信息进行管理, 提高了机场工作 人员对机票管理的工作效率。为便于旅客通过代售点查询航班信息,要求系统能 有效、快速、安全、可靠和无误的完成上述操作。并要求客户机的界面要简单明 了,易于操作,服务器程序利于维护。航班查询系统需要完成功能主要有:(1) 管理员对航班信息的输入、修改和查询,对用户信息的查询。(2)旅客信息的注册和登录及对航班信息的查询。数据分析航班信息(航班号,机型,航空公司,起飞城市,到达城市,起飞时间,到 达时间,总票数,剩余票数)旅客信息(用户名,密码,性别,年龄 )用户活动分析用户通过系统查询航班信息。用户活动

3、图:打印信息1、主要功能描述航班信息维护模块提供航班信息的录入、删除、修改。可以录入航班情况。机型,航空公司,起飞城市,到达城市,起飞时间,到达时间,总票数,剩余票数。当航班信息改变时可以修改航班信息数据库。航班业务处理模块提供查询航班剩余票数功能。客户可以登录航班购票系统进行查询;如果该航班已经无票,可以换乘。系统功能图航空订票系统系统流程图数据流图1:旅客管理员三、软/硬件环境:使用 Microsoft Visual Studio 2008 和 Microsoft SQLServer 2005 电脑是 windows7 64bit操作系统。4、数据字典1)数据项表2-1数据项名含义说明数据

4、类型长度说明航班号航班信息varchar50航班号码机型航班信息varchar10航班所属机型航空公司航线信息char10航班所属公司起飞城市航线信息char10飞机起飞城市到达城市航线信息char10飞机到达城市起飞时间航班信息char10飞机起飞时间到达时间航班信息char10飞机到达时间总票数航班信息varchar50航班的总票数剩余票数航班信息varchar50航班的剩余票数Usern ame用户信息char10用户名Psw用户信息char10密码Sex用户信息char10性别Age用户信息char10年龄ulevel用户信息char10用户等级2)数据结构表2-2名称简述组成comp

5、a ny定义公司相关信息公司名,公司地址,公司代码,公司电话ticket定义机票相关信息机票号,座位,票价,航班号Flight定义航班相关信息航班号,出发地,至泌地,出发时间,至U达时间,公司代码,航班号air定义飞机相关信息航程,飞机号,票价3)数据流名称简述来源去向组成用户旅客相关信息旅客本身登录购票系统Usern amePswSexAgeulevel4)数据存储表2-3名称Compa ny Flight ticket Customer Air简述组成定义公司相关信息定义机票相关信息CID,C name, Caddress, Cphone ticketID ,price ,seat num

6、ber,Flightnu mber定义旅客相关信息 定义飞机相关信息ID number, name, Pnumber. AddressAir nu mber, Voyage, price5)处理过程名称说明输入输出处理User log in用户登录用户名,密码, 性别,年龄,用 户等级旅客档案整理用户信息5、概念结构设计概念结构设计的方法概念设计阶段采用自底向上的方法,即自顶向下的进行需求分析,然后再自 底向上的进行概念结构设计。对已经细化到无法再分的阶段逐步集成在一起, 最 终合成一个全局概念模式。概念结构设计的步骤第一步是进行局部视图的设计:由于高层的数据流图只能反映系统的概貌,而中层流图

7、能较好的反映系统中各局部应用的子系统组成。因此我们们先逐一的设计分E-R图。第二步是进行视图的集成:各子系统的 E-R图设计好之后,下一步就是要将所有的分E-R图合成一个系统的总 E-R图,一般有两个方式,多个分E-R图一次集成,另一种是一次集成 两个分E-R图。概念模型设计E R图航程飞机到达号时间使用票价查询姓名公司代码顾m拥有机票号公司代码电话号码出发拥1n地有航空公司客订票住址n身份证号订票时间机票航班票号号价座机票身份证-_航 班br航班"厂 1'V航班11、号时间/飞机广7目的地)/出发/公司公司、公司名丿地址话将ER图转换为关系模式逻辑设计顾客(用户名,密码,性

8、别,年龄)。航班(航班号,机型,航班公司,起飞城市,到达城市,起飞时间,到达时间,总票数,剩 余票数)。Customer ( Username, psw, sex, age, ulevel )Flight(航班号,机型,航班公司,起飞城市,到达城市,起飞时间,到达时间,总票数, 剩余票数)下划线标注的属性为主码。以上关系模式均为 BCNF物理设计为了提高在表中搜索元祖的速度,在实际实现的时候应该基于码机建立索引。各表中简历索引的表项:("Customer ( Username)(2)Flight(航班号)二、用SQL实现设计1、建立 Customer 表CREATETABLEdbo.

9、用户表(user name char(10) COLLATED"nese_PRC_CI_AS NOTNULL,psw char(10) COLLATEDhinese_PRC_CI_AS NULL,sex char(10) COLLATEDhinese_PRC_CI_AS NULL,age char(10) COLLATEDhinese_PRC_CI_AS NULL,ulevel char (10) COLLATEDhinese_PRC_CI_AS NULL,CONSTRAINPK_ 用户表PRIMARYKEY CLUSTERED(username ASC)WITH (PADNDEX

10、= OFF IGNORE_DUP_KEY= OFF) ONPRIMARY)ONPRIMARY2、建立 Airplane 表CREATETABLEdbo . Airplane(航班号varchar(50)机型varchar(10) C航空公司char(10)起飞城市char(10)到达城市char(10)COLLATEShinese PRC CI ASCOLLATEShinese PRC CI ASCOLLATEShinese PRC CI ASCOLLATEDhinese_PRC_CI_AS NOTNULL,j_PRC_CI_AS NULL,NULL,NULL,NULL, 起飞时间 char

11、( 10) COLLATEChinese_PRC_CI_AS NULL, 到达时间 char ( 10) COLLATEChinese_PRC_CI_AS NULL, 总票数 varchar (50) COLLATEChinese_PRC_CI_AS NULL, 剩余票数 varchar (50) COLLATEChinese_PRC_CI_AS NULL, CONSTRAINTPK_Airplane PRIMARYKEY CLUSTERED( 航班号 ASC)WITH ( PAD_INDEX = OFF, IGNORE_DUP_KEY= OFF) ONPRIMARY) ONPRIMARY3

12、、 顾客操作(1) 注册 (register)INSERT INTO 用户表 (Username,psw,sex,age , ulevel) VALUES(#Username,#psw,#sex,#age, #ulevel);(2) 注销 (unregister)DELETE Customer WHERE(Username=#Username);本系统涉及到的存储过程:这是注册界面,代码如下using System;using ;using ;using ;using ;using ;using partial class Default2 :();protected void Button2

13、_Click( object( "" );protected void Button1_Click( objectstring Add = "注册"string constr = "sss" .ToString();protected void Page_Load( object sendersender, EventArgs e)sender, EventArgs e)EventArgs e)SqlConnection conn = new SqlConnection ();= constr;if !=();SqlCommandcm

14、d = new SqlComman(dAdd, conn);= ; 注册 (username char (10),pswchar ( 10),sex char ( 10),age char ( 10),ulevel char (10)asbegininsert into 用户表 ( username , psw, sex, age, ulevel ) values ( username, psw, sex, age, ulevel )endGOSET ANSI_NULLSOFFGOSET QUOTED_IDENTIFIEROFFGO这是登录界面登录时必须选对用户等级,不然会报错,登录界面代码如

15、下:using System;using ;using ;using ;using ;using partial class _Default :();protected void Button2_Click( object( "" );protected void Button1_Click( objectprotected void Page_Load( object sender,sender, EventArgs e)sender, EventArgs e)EventArgs e)string Add = "CheckUser" ;string

16、constr = "sss" .ToString(); SqlConnection conn = new SqlConnection ();= constr;if !=(); SqlCommandcmd = new SqlComman(dAdd, conn);JSqlParameter Parameter1 = new SqlParameter ( "username", , 10); SqlParameter Parameter2 = new SqlParameter ( "psw", , 10);SqlParameter Para

17、meter3 = new SqlParameter ( "ulevel" , , 10);DataTable table = new DataTable ();SqlDataAdapter adapter = new SqlDataAdapter (cmd);(table);SqlDataReader dr = (); CheckUserusername char (10) , pswchar ( 10) ,ulevel char (10)ASBEGINselect * from 用户表 where username =username and psw =pswand ul

18、evel =ulevel END管理员进去之后可以查询航班表,用户表和管理航班,对信息进行添加修改 这里是通过拉控件方式做的,如下图:通过拉 FormView 和 SqlDataSource 两个控件,用 FormView 绑定 SqlDataSource ,然后在 SqlDataSource 中配置数据源,然后新建连接如下图:选择存储过程点击完成即可,用户表则是 GridView 和 SqlDataSource 控件,方法类似就不再列举!管理员界面这里涉及到 2个存储过程: dbo. 查看航班表dbo.查看用户表航班表的程序:vasp: SqlDataSource ID="SqlD

19、ataSource1" runat ="server"Connectionstring ="<%$ ConnectionStrings:AirplaneConnectionString %>SelectCommand="查看航班表SelectCommandType="StoredProcedure"></ asp: SqlDataSource >用户表的程序:<asp: SqlDataSource ID="SqlDataSource2" runat ="ser

20、ver"SelectCommand="查看用户表SelectCommandType="StoredProcedure"></asp: SqlDataSource >ConnectionString =" <%$ ConnectionStrings:AirplaneConnectionString %>这是航班管理界面通过新建可以插入新的信息!管理航班的程序:<asp: SqlDataSource ID="SqlDataSource1" runat ="server"Co

21、nflictDetection ="CompareAllValues"ConnectionString ="<%$ ConnectionStrings:AirplaneConnectionString %>DeleteCommand="DELETE FROM Airplane WHERE 航班号=original_ 型=original_ 机型)OR (机型IS NULL AND original_ 机型 IS NULL) AND (航班号AND (机航空公司=original_航空公司)OR (original_起飞城市)OR (origi

22、nal_到达城市)OR (original_起飞时间)OR (original_到达时间)OR (航空公司IS NULL AND original_ 起飞城市IS NULL AND original_ 到达城市IS NULL AND original_ 起飞时间IS NULL AND original_ 到达时间IS NULL AND original_航空公司起飞城市到达城市IS NULL) AND (IS NULL) AND (IS NULL) AND (IS NULL) AND ( 到达时间 IS NULL) AND (起飞时间起飞城市= 到达城市= 起飞时间= 到达时间= 总票数=or

23、iginal_总票数)OR (总票数IS NULL AND original_ 总票数 IS NULL) AND ( 剩余票数=original_剩余票数)OR (剩余票数IS NULL AND original_ 剩余票数IS NULL)"InsertCommand="INSERT INTO Airplane( 航班号, 机型,航空公司,起飞城市,到达城市,起飞时间,到达时间,总票数,剩余票数)VALUES (航班号,机型,航空公司, 起飞城市,到达城市,起飞时间,到达时间,总票数,剩余票数)"OldValuesParameterFormatString =&q

24、uot;original_0"SelectCommand="查看信息"UpdateComman="UPDATE Airplane SET 机型= 机型,航空公司= 航空公司,起 飞城市=够飞城市,到达城市=达城市,起飞时间=型飞时间,到达时间=达时间,总 票数=总票数,剩余票数=剩余票数 WHERE 航班号=original_ 航班号AND (机型=original_机型)OR (机型IS NULL AND original_ 机型 IS NULL) AND (航空公司=original_航空公司起飞城市到达城市OR (航空公司OR (起飞城市OR (到

25、达城市ISISISNULL AND original_ 航空公司NULL AND original_ 起飞城市NULL AND original_ 到达城市ISISISNULL) AND (NULL) AND (NULL) AND (起飞时间OR (起飞时间ISNULL AND original_ 起飞时间ISNULL) AND (起飞城市到达城市起飞时间到达时间=original_=original_=original_=original_总票数 = original_到达时间 ) OR ( 到达时间 IS NULL AND original_ 到达时间 IS NULL) AND (总票数

26、) OR ( 总票数 IS NULL AND original_ 总票数 IS NULL) AND ( 剩余票数 = original_ 剩余 票数) OR ( 剩余票数 IS NULL AND original_ 剩余票数 IS NULL)"SelectCommandType="StoredProcedure"> <DeleteParameters ><asp: Parameter<asp: ParameterName="original_Name="original_航班号 " Type="

27、String" 机型 " Type="String" />/><asp: ParameterName="original_航空公司 " Type="String"/><asp: ParameterName="original_起飞城市 " Type="String"/><asp: ParameterName="original_到达城市 " Type="String"/><asp:

28、ParameterName="original_起飞时间 " Type="String"/><asp: ParameterName="original_到达时间 " Type="String"/><asp: ParameterName="original_总票数 " Type="String"/><asp: ParameterName="original_剩余票数 " Type="String"/&g

29、t;</ DeleteParameters ><UpdateParameters ><asp:<asp:ParameterParameterName=" 机型 " Type="String" />Name=" 航空公司 " Type="String" /><asp:ParameterNam="起飞城市" Type="String" /><asp:ParameterName=" 到达城市" T

30、ype="String" /><asp:ParameterName=" 起飞时间" Type="String" /><asp:ParameterName=" 到达时间" Type="String" /><asp:ParameterNam="总票数"Type="String" /><asp:ParameterNam="剩余票数" Type="String" />&l

31、t;asp:ParameterName="original_航班号 " Type="String"/><asp:ParameterName="original_机型 " Type="String" /><asp:ParameterName="original_航空公司 " Type="String"/><asp:ParameterName="original_起飞城市 " Type="String"/

32、><asp:ParameterName="original_到达城市 " Type="String"/><asp:ParameterName="original_起飞时间 " Type="String"/><asp:ParameterName="original_到达时间 " Type="String"/><asp:ParameterName="original_总票数 " Type="String

33、"/><asp:ParameterName="original_剩余票数 " Type="String"/></ UpdateParameters > <InsertParameters ><asp:ParameterName=" 航班号 "Type="String"/><asp:ParameterNam="机型"Type="String" /><asp:ParameterName="

34、 航空公司" Type="String"/><asp:ParameterName=" 起飞城市" Type="String"/><asp:ParameterName=" 到达城市" Type="String"/><asp:ParameterName=" 起飞时间" Type="String"/><asp:ParameterName=" 到达时间" Type="Strin

35、g"/><asp:ParameterNam="总票数"Type="String"/><asp:ParameterNam="剩余票数" Type="String"/>v/ Insertparameters >v/asp: SqlDataSource >这里是系统自动生成的导入存储过程的代码有Update, Delete , Insert插入,删除,修改这些功能的代码这是用户登陆后的界面,输入条件后会成功显示如下图:按机型查询的过程:<asp: SqlDataS

36、ource ID="SqlDataSource1" runat ="server"Connectionstring ="<%$ ConnectionStrings:AirplaneConnectionString %>"SelectCommand="机型"SelectCommandType="StoredProcedure"> vSelectParameters ><asp: ControlParameter ControlID ="TextBox1&qu

37、ot; Nam="机型"PropertyName ="Text"Type="String" /></ SelectParameters >v/asp: SqlDataSource >按航班号查询的过程<asp: SqlDataSource ID="SqlDataSource2" runat ="server"ConnectionString ="<%$ ConnectionStrings:AirplaneConnectionString %>"SelectCommand="航班号"SelectCommandType="StoredProcedure"> vSelectParameters ><asp: ControlParameter ControlID ="TextBox2" Nam="航班号"P

温馨提示

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

最新文档

评论

0/150

提交评论