飞机订票系统设计报告.docx
- 文档编号:5155931
- 上传时间:2022-12-13
- 格式:DOCX
- 页数:29
- 大小:597.80KB
飞机订票系统设计报告.docx
《飞机订票系统设计报告.docx》由会员分享,可在线阅读,更多相关《飞机订票系统设计报告.docx(29页珍藏版)》请在冰豆网上搜索。
飞机订票系统设计报告
镇江高专
ZHENJIANGCOLLEGE
课程设计
飞机订票系统课程设计
Planeticketsystemcoursedesign
系名:
专业班级:
学生姓名:
学号:
指导教师姓名:
指导教师职称:
副教授
2011年6月
引言
第一章数据库的创建
1.1创建数据库………………………………………………………………4
1.1.1创建数据库的步骤………………………………………………4
1.2.2完成数据库的创建………………………………………………4
1.2.创建表
1.2.1口令信息表………………………………………………………6
1.2.2航班信息表………………………………………………………6
1.2.3顾客信息表………………………………………………………7
第二章功能设计
2.1功能要求及创建项目…………………………………………………8
2.2创建主模块……………………………………………………………9
2.3登入窗口………………………………………………………………10
2.4功能窗口………………………………………………………………12
2.4.1航班信息维护………………………………………………14
2.4.2预定机票……………………………………………………21
2.4.3撤销预定……………………………………………………25
2.4.4查询信息……………………………………………………30
结论………………………………………………………………………33
致谢………………………………………………………………………33
参考文献…………………………………………………………………33
飞机订票系统课程设计
专业班级:
学生姓名:
指导教师:
职称:
摘要:
信息增长的速度越来越快,人们希望利用先进的管理理论方法手段来得到并处理越来越多的信息,以提高工作效率和管理水平。
由于信息资源对人们生活的重要性,不断提高信息的收集,传输,加以利用等活动,日益成为人们社会生活的重要组成部分。
。
计算机技术以突飞猛进的速度渗透到各个领域,成为人们生活中不可缺少的一部分。
关键字:
数据库、窗体、代码
引言
航空管理系统的产生和发展正好满足人们的这种需求。
一般而言,航空公司的管理信息系统应该包括人事、工资管理模块为了提高代码的效率方便维护,在VisualBasic中可以用公用模块存放常使用的函数、过程和全局变量等。
本设计中运用到SQL数据库,VB.NET设计等。
在编写代码的过程中,需要单独调试每个窗体。
第一章数据库的创建
1.1创建hbgl数据库
步骤:
1.1.1打开SQLServer企业管理器
在Windows的[开始]菜单中选择SQLServer的[企业管理器],如下图所示:
1.1.2创建hbgl数据库
在进入企业管理器后单击服务器名称左边的+号,一直将树型结构展开,在[数据库]项目上右击,在弹出的快捷菜单中选择[新建数据库]菜单项,如下图所示:
在出现的对话框中填写数据库的名称为hbgl,然后点击[确定]。
1.2创建表
在这个飞机订票系统中,一共运用到三个表。
第一个表为klb(口令表),第二个表为hbxxb(航班信息表),第三个表为gkxxb(顾客信息表)。
1.2.1创建口令信息表
属性:
usename(用户名)、password(密码)
口令表的属性信息,如下图所示:
口令表(kl)的输入信息界面如下图所示:
1.2.2创建航班信息表
属性:
hbh(航班号)、qfcs(起飞城市)、ddcs(到达城市)、qfsj(起飞时间)、ddsj(到达时间)、zws(座位数)、pj(票价)
航班信息表的属性信息,如下图所示:
航班信息表(hbxx)的输入信息界面如下图所示:
1.2.3创建顾客信息表
属性:
xm(顾客姓名)、hbh(航班号)、qfcs(起飞城市)、ddcs(到达城市)、qfrq(起飞日期)、ydzws(预订座位数)
顾客信息表的属性信息,如下图所示:
顾客信息表(gkxx)的输入信息界面如下图所示:
(运行中的数据)
数据库的初步设计完成。
第二章功能设计
2.1功能要求及在VisualBasic.NET中创建fjdp项目
功能要求
航班信息维护:
添加新航班信息、修改查询航班信息、删除航班信息。
预订机票:
按顾客所要求的航班号及日期,预订座位数。
撤销预订:
为顾客撤销所预订的机票。
查询信息:
查询顾客预订信息
创建项目
启动MicrosoftVisualStudio,在主菜单中选择[文件]—[新建]—[项目]命令,在[项目类型]列表框中选择[VisualBasic项目],在[模板]中选择[Windows应用程序]并设置项目的名称为:
fjdp
数据处理要求:
1、预订机票时,比较所订日期航班的剩余座位数与用户预订的座位数,然后根据比较结果作相应处理。
2、撤销预订时,如某顾客撤销所有的预订座位,则将该顾客的预订信息删除(一个记录),如撤销部分座位数,则作相应修改。
2.2创建主模块
在整个页面右框中的[解决方案资源管理器]中,右击[fjdp]—[添加]—[添加模块],将之命名为main,它的代码如下:
Modulemain
PublicconstrAsString="uid=sa;pwd='';database=hbgl;server=dz23"
PublicmyconAsNewSqlClient.SqlConnection(constr)
PubliconameAsString
Submain()
DimpsAsNewpasswd()
ps.StartPosition=FormStartPosition.CenterParent
ps.ShowDialog()
‘运行主窗体
Application.Run(Newmainpro())
EndSub
EndModule
主模板流程图:
↓
↓
↓
↓
2.3登入窗口
右击[fjdp]—[添加]—[添加Windows窗体],名为form1,并在窗体上分别添加两个label控件,一个comboBox控件,一个textbox控件,两个button控件,把这些控件的text值改为相应名称,登入界面如下:
窗体流程图:
输入正确的密码不输入密码
代码如下:
PublicClasspasswd
PrivateSubLabel1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)
EndSub
PrivateSubForm1_Load(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesMyBase.Load
Ifmycon.State=ConnectionState.ClosedThen
mycon.Open()
DimmcomAsNewSqlClient.SqlCommand("selectnamefromkl",mycon)
DimmyrAsSqlClient.SqlDataReader=mcom.ExecuteReader
Whilemyr.Read
Cbname.Items.Add(myr(0))
EndWhile
Cbname.SelectedIndex=0
Cbname.Focus()
mycon.Close()
EndIf
EndSub
2.3功能窗口
再添加一个windows窗体,名为form2,一个MainMenu控件,接着添加五个Label控件。
把这些控件的text值改为相应名称,登入界面如下:
窗体流程图:
代码如下:
PublicClassmainpro
PrivateSubmainpro_Load(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesMyBase.Load
EndSub
PrivateSub航班信息查询维护ToolStripMenuItem_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles航班信息查询维护ToolStripMenuItem.Click
DimpsAsNewsjwh
ps.startposition=FormStartPosition.CenterScreen
ps.show()
EndSub
PrivateSub预定机票ToolStripMenuItem_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles预定机票ToolStripMenuItem.Click
DimpsAsNewydjp()
ps.startposition=FormStartPosition.CenterScreen
ps.show()
EndSub
PrivateSub撤销预定ToolStripMenuItem_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles撤销预定ToolStripMenuItem.Click
DimpsAsNewcxyd()
ps.startposition=FormStartPosition.CenterScreen
ps.show()
EndSub
PrivateSub预定信息查询ToolStripMenuItem_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles预定信息查询ToolStripMenuItem.Click
DimpsAsNewxxcx
ps.startposition=FormStartPosition.CenterScreen
ps.show()
EndSub
PrivateSub退出ToolStripMenuItem_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles退出ToolStripMenuItem.Click
IfMsgBox("确实退出?
",MsgBoxStyle.YesNo)=6Then
Application.Exit()
EndIf
EndSub
EndClass
由于form2这个窗体还要对应四个窗体,所在再添加四个Windows窗体,这四个窗体的名称分别为:
sjwh(信息查询和维护),ydjp(预定机票),cxyd(撤销预定),xxcx(顾客预订信息查询)
2.4.1航班信息维护
在信息查询和维护窗体中,添加七个label控件,七个textbox控件,八个button控件.把这些控件的text值改为相应名称,登入界面如下:
代码如下:
PublicClasssjwh
DimmydcAsNewSqlClient.SqlDataAdapter("select*fromhbxx",mycon)'定义一个数据适配器
DimmyreadAsSqlClient.SqlDataReader'定义一个数据阅读器
DimdbsetAsNewDataSet'定义一个数据集
DimrowAsInteger=0
DimynAsInteger
DimbhAsString
PrivateSubsjwh_Load(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesMyBase.Load
TextBox1.ReadOnly=True'设置刚开始为只读
TextBox2.ReadOnly=True
TextBox3.ReadOnly=True
TextBox4.ReadOnly=True
TextBox5.ReadOnly=True
TextBox6.ReadOnly=True
TextBox7.ReadOnly=True
插入.Enabled=False
保存修改.Enabled=False
Ifmycon.State=ConnectionState.ClosedThen
mycon.Open()
EndIf
dbset.Clear()'清空数据集
mydc.Fill(dbset,"hbxx")'填充数据集,存放的是select*fromhbxx最后是一个二维表
disp()'调用子程序
EndSub
'显示子程序
Subdisp()
TextBox1.Text=dbset.Tables("hbxx").Rows(row)(0)'显示第一行第一列内容,row的值是0
TextBox2.Text=dbset.Tables("hbxx").Rows(row)
(1)
TextBox3.Text=dbset.Tables("hbxx").Rows(row)
(2)
TextBox4.Text=dbset.Tables("hbxx").Rows(row)(3)
TextBox5.Text=dbset.Tables("hbxx").Rows(row)(4)
TextBox6.Text=dbset.Tables("hbxx").Rows(row)(5)
TextBox7.Text=dbset.Tables("hbxx").Rows(row)(6)
EndSub
PrivateSub修改_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles修改.Click
TextBox2.ReadOnly=False
TextBox3.ReadOnly=False
TextBox4.ReadOnly=False
TextBox5.ReadOnly=False
TextBox6.ReadOnly=False
TextBox7.ReadOnly=False
保存修改.Enabled=True
删除.Enabled=False
修改.Enabled=False
添加记录.Enabled=False
EndSub
PrivateSub退出_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles退出.Click
mycon.Close()
Me.Close()
EndSub
PrivateSub下一个记录_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles下一个记录.Click
Ifrow=dbset.Tables("hbxx").Rows.Count-1Then'判断是否是最后一个记录
MsgBox("已是最后一条记录!
")
ExitSub
EndIf
row+=1'自增1
disp()
EndSub
PrivateSub上一个记录_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles上一个记录.Click
Ifrow=0Then
MsgBox("已是第一条记录!
")
ExitSub
EndIf
row-=1'自减1
disp()
EndSub
PrivateSub删除_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles删除.Click
yn=MsgBox("本删除不可逆,确实删除吗?
",MsgBoxStyle.YesNo)
Ifyn=6Then
bh=dbset.Tables("hbxx").Rows(row)(0)'把当前行的第一列赋值给bh
Dimstr="deletefromhbxxwherehbh="&bh
DimcomAsNewSqlClient.SqlCommand(str,mycon)
com.ExecuteNonQuery()
dbset.Clear()
mydc.Fill(dbset,"hbxx")
修改.PerformClick()
EndIf
EndSub
PrivateSub保存修改_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles保存修改.Click
yn=MsgBox("确实要保存吗?
",MsgBoxStyle.YesNo)
Ifyn=6Then
bh=dbset.Tables("hbxx").Rows(row)(0)
Dimstr="updatehbxxsetqfcs='"&TextBox2.Text&"',ddcs='"&_
TextBox3.Text&"',qfsj='"&TextBox4.Text&"',ddsj='"&TextBox5.Text&"',zws="&TextBox6.Text&",pj="&TextBox7.Text&"wherehbh="&bh&""
DimcomAsNewSqlClient.SqlCommand(str,mycon)
com.ExecuteNonQuery()'执行更新操作
dbset.Clear()
mydc.Fill(dbset,"hbxx")
MsgBox("所作的修改已保存!
")
EndIf
TextBox2.ReadOnly=True
TextBox3.ReadOnly=True
TextBox4.ReadOnly=True
TextBox5.ReadOnly=True
TextBox6.ReadOnly=True
TextBox7.ReadOnly=True
保存修改.Enabled=False
删除.Enabled=True
修改.Enabled=True
添加记录.Enabled=True
EndSub
PrivateSub添加记录_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles添加记录.Click
TextBox1.ReadOnly=False
TextBox2.ReadOnly=False
TextBox3.ReadOnly=False
TextBox4.ReadOnly=False
TextBox5.ReadOnly=False
TextBox6.ReadOnly=False
TextBox7.ReadOnly=False
'赋初值
TextBox1.Text=""
TextBox2.Text=""
TextBox3.Text=""
TextBox4.Text=""
TextBox5.Text=""
TextBox6.Text=0
TextBox7.Text=0
插入.Enabled=True
删除.Enabled=False
修改.Enabled=False
添加记录.Enabled=False
EndSub
PrivateSub插入_Click_1(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles插入.Click
IfTextBox1.Text=""OrTextBox2.Text=""OrTextBox3.Text=""OrTextBox4.Text=""OrTextBox5.Text=""OrTextBox6.Text=""OrTextBox7.Text=""Then'继续完成,都不能为空
MsgBox("信息都不能为空!
")
ExitSub
EndIf
yn=MsgBox("确实要添加该记录吗?
",MsgBoxStyle.YesNo)
Ifyn=6Then
bh=TextBox1.Text
Dimstr1="selectsum(zws)fromhbxxwherehbh='"&bh&"'"'判断这个记录是否存在
Dimmycom1AsNewSqlClient.SqlCommand(str1,mycon)
IfIsDBNull(mycom1.ExecuteScalar)Then'获取单个值(mycom1.ExecuteScalar)判断是否为空
Dimstr2="insertintohbxx(hbh,qfcs,ddcs,qfsj,ddsj,zws,pj)values('"&TextBox1.Text&"','"&TextBox2.Text&"','"&_
TextBox3.Text&"','"&TextBox4.Text&"','"&TextBox5.Text&"',"&TextBox6.Text&","&TextBox7.Text&")"
Dimmycom2AsNewSqlClient.SqlCommand(str2,mycon)
mycom2.ExecuteNonQuery()'执行插入命令
dbset.Clear(
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 飞机 订票 系统 设计 报告