河南理工大学
万方科技学院
课程
设计
领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计
报告
软件系统测试报告下载sgs报告如何下载关于路面塌陷情况报告535n,sgs报告怎么下载竣工报告下载
2010— 2011学年第 一 学期
课程名称 数据库系统原理
设计题目 车站售票管理系统
学生姓名 王邦政
学 号 0828040051
专业班级 通信—3班
指导教师 刘小燕
2010 年 09 月 25 日
目 录
1、需求求报告分析…………………………………………………………………………1
1、1 概述…………………………………………………………………………1
1、2 系统功能分析………………………………………………………………1
1、3 数据流图……………………………………………………………………2
1、4 数据字典……………………………………………………………………3
2、概念及逻辑结构设计…………………………………………………………………7
2、1 ER图 ………………………………………………………………………7
2、2 关系模式……………………………………………………………………8
2、3数据结构……………………………………………………………………9
3、数据库设计………………………………………………………………………………10
4、系统软件结构设计 …………………………………………………………………11
4、1 系统功能设计………………………………………………………………11
4、2 其它需求……………………………………………………………………12
4、3说明…………………………………………………………………………12
5、程序模块设计 …………………………………………………………………………15
5、1 功能模块详细设计…………………………………………………………15
5、2 界面设计……………………………………………………………………16
5、3 附录:系统程序源代码……………………………………………………16
参考文献………………………………………………………………………………………25
1系统需求分析报告
1.1概述
汽车售票管理系统主要用于车站日常的票务处理。车售票管理系统在正常运行中需要对使用该系统的主要是汽车站售票人员、汽车站售票工作的管理人员与系统管理员。为达到操作过程中的直观、方便、实用、安全等要求,我们组在这个系统中采用模块化程序设计的方法,便于系统功能的组合和修改,以及扩充和维护。
1.2系统功能分析
根据需求分析,本系统要实现以下的基本功能。
1.登录功能:分为汽车站售票人员和系统管理员两种权限登陆。用户通过
输入不同用户名和密码进行身份验证,系统通过用户名和密码判断不同用户的权限,从而确定该用户可以执行的操作。
2.车票信息查询功能:由汽车站的普通售票人员通过不同的检索入口,查询车票信息,并进行排序。
3.修改功能:汽车站售票人员、汽车站售票工作的管理人员能够修改自身的用户名和密码,系统管理员则能实现系统用户与普通用户的添加,修改普通用户与系统管理员的密码,以此确保该系统能够安全操作,避免不必要的损失。
4.汇总功能:对当天车票的信息进行汇总。
1.3数据流图
1.4数据字典
1.数据项
票号、票价、车次、日期、车型、开车时间、票种、座位号、起始站、终点站、身份证号、银行卡号、数量、退票时间、退票手续费、订票时间、订票手续费
2.数据结构
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
1.1 车票的数据结构
DS04-01 车票
DS04-02:车票标志
DS04-03:车次信息
DS04-04:座位信息
DS04-05:票价信息
I1:车票编号
I3:起始站
I8:座位号
I9:全票价
I2:车票类型
I4:车次编号
I10:折扣
I5:终点站
I6:发车时间
I7:乘车日期
3.数据流
数据流编号:D04-01
数据流名称:车票
简述:车票有关信息
数据流来源:用户执行售票操作结果
数据流去向:购票旅客
数据流组成:车票编号+车票类型+车次信息+座位信息+票价信息
4.数据存储
售票
记录
混凝土 养护记录下载土方回填监理旁站记录免费下载集备记录下载集备记录下载集备记录下载
:票号,起始站,终点站,票价,车次,日期,开车时间,
车型,票种,座位号,售出时间
退票记录:票号,起始站,终点站,票价,车次,日期,开车时间,
车型,票种,座位号,退票时间
订票记录:票号,起始站,终点站,票价,车次,日期,开车时间,
车型,票种,座位号,订票时间,顾客身份证号
缺票记录:票号,起始站,终点站,票价,车次,日期,开车时间,
车型,票种
车票记录:票号,起始站,终点站,票价,车次,日期,开车时间,
车型,票种,座位号,售出时间,票数
5.处理过程
车票汇总:工作人员将一天所售出的票进行统计,包括票数,票类,形成确定的车票记录。
查询:将顾客需要的车票信息输入系统,并查询其是否可供应。
查询顾客信息:为订票所设,将顾客的准确信息记录,为其预定所车票。
处理买票:进行买票交易,把顾客需要的票(可供应)售出,并在系统中作相应记录,确定车票记录。
处理订票:进行订票交易,工作人员为顾客预定其所需车票,并在系统中作相应记录,确定订票记录。
处理退票:进行退票交易,工作人员为顾客办理退票手续,并在系统中作相应记录,确定退票记录。
2概念及逻辑结构设计
2.1 E-R图
本系统根据以上的设计规划出的实体有:车票实体、车站实体、顾客实体。各个实体具体的描述E-R图如下:
图2-1车票ER图
图2-2 顾客ER图
图2-3实体之间ER图
2.2关系模型:
车票与顾客之间的联系
售票 1:N
车票(票号,车次,日期,车型,票价,开车时间,票种,座位号,起始站,终点站)
顾客(身份证号,银行卡号,票号)
退票1:N
车票(票号,车次,日期,车型,票价,开车时间,票种,座位号,起始站,终点站)
顾客(身份证号,银行卡号,票号,退票时间,退票手续费)
订票1:N
车票(票号,车次,日期,车型,票价,开车时间,票种,座位号,起始站,终点站)
顾客(身份证号,银行卡号,票号,日期,交易时间,交易金额,数量,起始站,终点站)
2.3数据库结构
表2.1 Car表详细设计
字段名
数据类型
是否主键
是否必填
字段说明
CarID
文本
是
是
车次编号
CarType
数字
否
否
客车型号
PlateNumber
文本
否
是
车牌号
CarHolder
文本
否
否
责任人
RunningWay
文本
否
否
经营路线
SeatLimit
数字
否
是
座位限额
OutSetTime
日期/时间
否
是
发车时间
表2.2 Seat表详细设计
字段名
数据类型
是否主键
是否必填
字段说明
CarID
文本
否
是
车次编号
Date
时间/日期
否
是
日期
Terminal
文本
否
是
终点站
Selled
是/否
否
否
票是否售出
Price
数字
否
是
车票价格
表2.3 PriceDiscount表详细设计
字段名
数据类型
是否主键
是否必填
字段说明
RecordNumber
自动编号
是
是
记录号
TicketTypeID
数字
否
是
车票类型
Discount
数字
否
是
折扣
CarID
文本
否
是
车次
表2.4 Price表详细设计
字段名
数据类型
是否主键
是否必填
字段说明
TerminalID
文本
是
是
终点站编号
OutStation
文本
否
否
起始站
TerminalName
文本
否
是
终点站
TNPYCode
文本
否
是
拼音码
CarID
文本
否
是
车次编号
TicketPrice
数字
否
是
票价
表2.5 Type表详细设计
字段名
数据类型
是否主键
是否必填
字段说明
RecordID
自动编号
是
是
记录号
TicketTypeID
数字
否
是
车票类型编号
TicketType
文本
否
是
车票类型
3数据库设计
本车站售票系统有两个实体,分别是车票和顾客,利用SQL建表如下:
车票
顾客
4 系统软件结构
4.1.系统功能设计
汽车站售票管理系统主要设有五个主要功能模块:分别是车次管理、票价管理、票务管理、用户管理和查询管理。如图4-1所示。
1. 车次管理模块
该模块主要实现车次信息的编辑。车次管理中的数据源为Access数据库中Car表,在此管理部分中,能够使用界面操作实现车次信息的编辑,并将数据库中的数据按照编辑的要求来及时更新数据表中的相关数据。
2.票价管理模块
该模块主要实现票价信息的录入、修改与删除以及票价折扣信息的录入、修改与删除。 票价详细信息的录入、修改、删除,它的数据源为Access数据库的Price表。在此管理部分中,通过票价管理(FrmPriceManage)界面来选择记录并决定执行何种操作,是修改、添加或删除。当命令为修改或者添加时则自动跳转到票价编辑窗体(FrmPriceEdit)实现票价信息的编辑并更新数据库中相应数据记录。
3.票务管理模块
票务管理部分实现前台售票、前台退票功能。主要完成售票、远程售票、废票、取消废票功能、改签票、退票、取消退票功能、补票、售票查询和票款结算单填写等功能。
4.用户管理模块
该模块主要实现用户添加,用户信息修改与用户的删除。所有系统用户的管理,包括系统普通用户与系统管理员。此管理模块数据源为Access数据库的Users表。在系统主界面中首先进入的是名称为FrmUserMan的用户管理主窗体,通过提取用户名、用户类型来查看用户具体信息,选择添加或删除用户进入名为FrmUserEdit的用户编辑界面进行操作,操作完成便更新数据库数据。
5.查询管理模块
该模块主要实现拥护通过查询界面可以根据条件进行车次时刻、车次票价查询。
4-1.功能模块图
4.2其他需求
汽车站售票系统数据库中的数据量十分庞大,而且更新速度十分快。在数据大小方面要求数据的属性要设置合理,假如是数据的属性值越大,则数据本身所占用的容量也就十分的庞大,不但会造成传输的不方便甚至错误,也更加重系统的负担,有可能削弱系统运行速度,使得系统无法达到预期的目的。另外,在整个系统当中要确保数据在保存与传递过程中的安全,以免发生严重的错误,造成巨大的损失。
4.3说明
售票
正常出售本站所有车次车票,并按要求打印出车票。
远程售票
正常出售远程车站所有车次车票,并按远程车站的要求打印出车票。
废票
在正常售票过程中, 可能因操作失误或打印机械故障等原因造成错票而作废车票。
取消废票
当废票时,发现废的票是不应该废的,即为正常票,需要通过取消废票来实现。
远程废票
对所售远程车票作废票处理。
退票
在正常退票时间内办理退票,并根据退票规定收取一定的手续费。
远程退票
对所售远程车票作退票处理。
取消退票
当退票时,发现退的票是不应该退的,即为正常的票,需要通过取消退票来实现。
改签票
由于乘客或车站某种原因需对已出售的车票作更换车次的车票。改签仅允许改签一次。
远程改签票
对所售远程车票作改签处理。
注销票
删除某些由于调试程序所用的票记录及其影响。
补票
只能在超过售票时限后进行,且在未发车之前,在统计时注意对非微机售票的票的处理(例如:剪刀票)。
售票查询
通过一定的授权和设定售票员可以查询在设定时间范围内或多少张票以前的出售、作废、改签和退票的情况,并对有权限的人员可有累计票款服务。
票款结算单
售票员每天售完车票后填写每日结算单,以便财务人员查询。
重打车票
在正常售票过程中, 可能因打印机械故障等原因造成错票而重新打印车票。
售票类型
车票中所有联都应有的信息为车次、起止站点、票价、发车日期时间,而正联所特有的信息为售票员工号、检票口、是否改签票、车票上应有的信息:车票固有票号、计算机打印的票号、票号条形码(仅用于自动检票的车站)。
(2)车票类型
1)正常班次车票:发售的当天或预售正常轮班车次的车票。
2)远程售票:发售远程车站车次的车票,其打印格式同远程车站。
3)流水班次车票:发售的流水班次车票。
4)退票和改签票:
退票分为
A、正常退票。办理
标准
excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载
规定退票时间内的退票。
B、强行退票。在超过时限后退票,即强行退票。
补票:补票只能在超过售票时限后进行,且必须在未发车之前。
订票:设定定票有效期限,在有有效时限保留座位,有效时外释放座位等。
票种的定义
①全价票
②半价票 允许设定可用标志,自由定义名称。
③免票 只允许设定可用标志。
④优惠票1-3 允许设定可用标志,自由定义名称。
⑤折扣票 对原票价的基础上进行一定的打折,有严格的权限控制。
5 程序模块设计
5.1功能模块详细设计
5.1.1 车次管理模块代码实现
Private Sub Cmd_OK_Click()
'检查用户录入数据的有效性
If Len(Trim(txtCarID)) = 0 Then
MsgBox "请输入车次编号"
txtCarID.SetFocus
Exit Sub
End If
If Len(Trim(txtOutTime)) = 0 Then
MsgBox "请输入发车时间"
txtOutTime.SetFocus
Exit Sub
End If
'把用户录入的数据赋值到数据库对象变量中
With MyType
.CarID = MakeStr(txtCarID) '车次编号
.OutSetTime = MakeStr(TimeEdit) '发车时间
.RunninWay = MakeStr(WayEdit) '经营路线
.CarType = MakeStr(TypeEdit) '车辆类型
.PlateNumber = MakeStr(CNnEdit) '车牌号
.CarHolder = MakeStr(HolderEdit) '责任人
.SeatLimit = MakeStr(LSeatEdit) '额定座位
'根据变量Modify决定是插入新数据,还是修改已有的数据
If Modify = False Then
.Insert '插入新数据
Else '修改
.Update (nId) '修改已有的数据
End If
End With
Unload Me '关闭窗口
5.1.2 票价管理模块代码实现
票价管理部分代码如下(信息添加过程):
Private Sub Cmd_Add_Click()
'初始化FrmDiscountEdit信息
FrmPriceEdit.txtTerminalName = ""
FrmPriceEdit.txtTNPYCode = ""
FrmPriceEdit.txtCarID = ""
FrmPriceEdit.txtTicketPrice = ""
FrmPriceEdit.Modify = False
FrmPriceEdit.VarTermanalID = OriTerminalID
FrmPriceEdit.Show
RefreshData
End Sub
5.1.3用户管路模块代码实现(编辑窗体代码):
Private Sub Cmd_OK_Click()
If Trim(txtUserName) = "" Then
MsgBox "请输入用户名"
txtUserName.SetFocus
Exit Sub
End If
If Len(txtPass) < 5 Then
MsgBox "密码长度不能小于5"
txtPass.SetFocus
txtPass.SelStart = 0
txtPass.SelLength = Len(txtPass2)
Exit Sub
End If
If txtPass <> txtPass2 Then
MsgBox "密码和确认密码不相同,请重新确认"
txtPass2.SetFocus
txtPass2.SelStart = 0
txtPass2.SelLength = Len(txtPass2)
Exit Sub
End If
'判断是否存在同名用户
With MyUser
If Modify = False Or OriUser <> Trim(txtUserName) Then
If .In_DB(Trim(txtUserName)) = True Then
MsgBox "用户名已存在,请重新输入"
txtUserName.SetFocus
txtUserName.SelStart = 0
txtUserName.SelLength = Len(txtUserName)
Exit Sub
End If
模块中的程序代码如下:
Public adoCon As New ADODB.Conncetion
Public adors As New ADODB.Recordset
'连接数据库
Public Sub main()
Set adoCon = New ADODB.Connection
adoCon.Open = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\ 汽车站售票管理系统.mdb" & ";Persist Security Info=False"
FrmLogin.Show
FrmLogin.txtUser.SetFocus
End Sub
5.3附录:系统程序源代码
(1)登陆窗体(FrmLogin)代码
Public PasswordKey As String
Public NameKey As String
Public Try_times As Integer
'取消键退出登陆界面
Private Sub Cmd_Cancel_Click()
Unload Me
End Sub
Private Sub Cmd_OK_Click()
'数据库有效性检查
If Trim(txtUser) = "" Then
MsgBox "请输入用户名"
txtUser.SetFocus
Exit Sub
End If
If Trim(txtPwd) = "" Then
MsgBox "请输入密码"
txtPwd.SetFocus
Exit Sub
End If
End Sub
Private Function MakeStr() As String
NameKey = Str(txtUser)
PasswordKey = Str(txtPwd)
'判断用户是否存在
If MyUser.In_DB(NameKey) = Flase Then
MsgBox "用户名不存在"
Try_times = Try_times + 1
If Try_times >= 3 Then
MsgBox "您已经三次尝试进入本系统,均不成功,系统将关闭"
DBapi_Disconnect
End
Else
Exit Function
End If
End If
'判断密码是否正确
MyUser.GetINfo (NameKey)
If MyUser.Pwd <> PasswordKey Then
MsgBox "密码错误"
Try_times = Try_times + 1
If Try_times >= 3 Then
MsgBox "您已经三次尝试进入本系统,均不成功,系统将关闭"
DBapi_Disconnect
End
Else
Exit Function
End If
End If
'登陆成功,将当前用户的信息保存在CurUser中
CurUser.UserName = MyUser.UserName
CurUser.User_type = MyUser.User_type
CurUserEmpID = MyUser.EmpID
'关闭自己并显示主窗体
Unload Me
FrmMain.Show
End Function
(2)主窗体(FrmMain)代码
'设置数据库连接字符串
Conn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & " \汽车站售票管理系统.mdb " & ";Presist Security Info=False"
'系统登陆界面
FrmLogin.Show
End Sub
Private Sub PJCX_Click()
End Sub
Private Sub PJGL_Click()
FrmPriceManage.Show
End Sub
Private Sub SPGL_Click()
FrmTicketSell.Show
End Sub
Private Sub TPGL_Click()
FrmBack.Show
End Sub
Private Sub XGMM_Click()
With FrmUserEdit
.OriUser = CurUser.UserName
.txtUserName = CurUser.UserName
If CurUser.User_type = 1 Then
.ComboType.AddItem "系统管理员"
Else
.ComboType.AddItem "普通用户"
End If
.ComboType.ListIndex = 0
.ComboType.Enabled = False
.Modify = True
.Show 1
End With
End Sub
Private Sub YHGL_Click()
If CurUser.User_type = 1 Then
FrmUserMan.Show
Else
MsgBox "没有权限"
End If
End Sub
Private Sub ZKGL_Click()
FrmDiscount.Show
End Sub
(3)售票窗体(FrmTicketSell)代码
Private Sub Cmd_Cancel_Click()
Unload Me
End Sub
Private Sub Cmd_Search_Click()
'GridRsfresh '根据条件查询所有信息
End Sub
Private Sub Cmd_Sell_Click()
Dim ComboDate As String, TNPYCode As String, CarID As String
Dim left As Integer
Dim seatnumber As String
Dim strseat As String
Dim ticketinformation As String
Dim informationbook As String
Dim cost As Long
ComboDate = Trim(ComboDate.Text)
TNPY = Trim(txtTNPYCode)
CarID = Trim(txtCarID)
Dim strcnn
init_ado
strQuery = "Select CarID,OutStation,Terminal,OutSetTime,Date,Sno From Seat join Price on Seat.CarID=Price.CarID Where Seat.date='" & _
Trim(ComboDate) & "'" & " and Price.TNPYCode='" & Trim(txtTNPYCode) & "'"
'根据输入的信息,从表里得出查询结果
rsdata.Open strQuery, cnnrsdata, , , adCmdText
If rsdata.EOF Then
MsgBox "车次或拼音码输入有误,请重新输入!", , "Error!"
ComboDate.Text = ""
TNPYCode = ""
txtCarID = ""
ComboDate.SetFocus
ElseIf Len(TNPYCode) = 0 Then
MsgBox "请输入拼音码"
txtTNPYCode.SetFocus
ElseIf Len(TNPYCode) > 4 Then
MsgBox "拼音码过长,无效!"
txtCarID.SetFocus
ElseIf Len(CarID) = 0 Then
MsgBox "请输入车次编号!"
txtCarID.SetFocus
ElseIf IsNumeric(Number) = False Then
MsgBox "车次编号应为数字!"
txtCarID.Text = ""
txtCarID.SetFocus
Else
rsdata.Close
strQuery = "select count(*) as total from Seat where Seat.sell=false and Seat.date='" & _
Trim(ComboDate.Text) & "'" & " and Seat.CarID='" & Trim(txtCarID.Text) & "'"
rsdata.Open strQuery, cnnrsdata, , , adCmdText '统计本车次的剩余的座位数
rsdata.MoveFirst
left = rsdata!total
If left = 0 Then
MsgBox "本车次已经客满!"
ComboDate.Text = ""
ComboSNno.Text = ""
txtTNPYCode.Text = ""
txtCarID.Text = ""
ComboDate.SetFocus
Else
rsdata.Close
strQuery = "select count(*) as total from Seat where Seat.sell=false and Seat.date='" & _
Trim(ComboDate) & "'" & " and Seat.CarID='" & Trim(txtCarID) & "'"
rsdata.Open strQuery, cnnrsdata, , , adCmdText '统计本车次的剩余的座位数
rsdata.MoveFirst
rsdata.AddNew
rsdata!Date = comdate
rsdata!Seat = comSNno
rsdata!CarID = CarID
rsdata!TNPYCode = TNPYCode
rsdata!sno = Trim(seatnumber)
rsdata.Update '添加新记录
'更新 Seat 表 ,将刚卖出的座位号设为 false
strQuery = "select * from Seat where Seat.sno='" & Trim(seatnumber) & _
"' and Seat.date='" & Trim(ComboDate) & "'" & _
" and SeatCarID='" & Trim(txtCarID) & "'"
rsdata.Open strQuery, cnnrsdata, , , adCmdText
If rsdata!sell = False Then
rsdata!sell = True
rsdata.Update
End If
ComboDate = ""
txtTNPYCode = ""
txtCarID = ""
ComboDate.SetFocus
cost = Val(Adodc3.Recordset.Fields(3))
txtCharge = Val(txtMoney) - Val(Adodc3.Recordset.Fields(3))
End Sub
(4)退票窗体(FrmBack)代码
Private Sub Cmdback_Click()
Dim strdate As String
Dim strline As String
Dim strseatno As String
Dim strTnl As String
Dim response As String
Dim ticketinformation As String
strdate = Trim(Combodate.Text)
strCarID = Trim(txtCarID.Text)
strseatno = Trim(ComboSeatno.Text)
strTnl = Trim(ComboTerminal.Text)
Dim strcnn
init_ado
strQuery = "Select * From SellTicket Where SellTicket.date='" & _
Trim(Combodate.Text) & "'" & " and SellTicket.Sno='" & Trim(ComboSNno.Text) & "'" & _
" and SellTicket.carID='" & Trim(ComboCarID.Text) & "'" '检查车票日期、车次和座位是否有效
rsdata.Open strQuery, cnnrsdata, , , adCmdText
If rsdata.EOF Then
MsgBox "你所要退的票为无效票或是你的输入有问题!"
Else
rsdata.Close
strQuery = "Select * From SellTicket Where SellTicket.date='" & Trim(Combodate.Text) & _
"'" & " and SellTicket.sno='" & Trim(ComboSNno.Text) & "'" & _
" and SellTicket.CarID='" & Trim(ComboCarID.Text) & "'"
rsdata.Open strQuery, cnnrsdata, , , adCmdText
rsdata.MoveFirst
Combodate.Text = rsdata!Date
ComboSNSno.Text = rsdata!sno
ComboCarID.Text = rsdata!CarID
'车票有效,确认日期、车次和座位号,确认是否退票
ticketinformation = "日期:" & strdate & " " & "车次:" & strCarID & " " & "座位号:" & strsno & ""
response = MsgBox(ticketinformation, vbOKCancel + vbInformation, "是否真要退票?")
If response = 1 Then
'更改 SellTicket 表
rsdata.Close
strQuery = "select * from SellTicket"
rsdata.Open strQuery, cnnrsdata, , , adCmdText
rsdata.MoveFirst
Dim i As Integer
For i = 1 To rsdata.RecordCount
If rsdata!Date = strdate And rsdata!sno = strsno And rsdata!sno = strseat Then
rsdata.Delete
End If
rsdata.MoveNext
Next i
rsdata.Close
' 将刚退的票设为可卖
strQuery = "select * from line where Seat.date='" & strdate & "'" & _
" and Seat.CarID='" & strCarID & "'" & " and Seat.sno='" & strsno & "'"
rsdata.Open strQuery, cnnrsdata, , , adCmdText
If rsdata!book = True Then
rsdata!book = False
rsdata.Update
End If
Combodate.Text = ""
ComboSno.Text = ""
Combodate.SetFocus
MsgBox "退票已成功!"
Else
rsdata.Close
Combodate.Text = ""
ComboSno.Text = ""
Combodate.SetFocus
End If
End If
End Sub
(5)折扣管理窗体(FrmDiscount)代码
Private Sub Cmd_Add_Click()
'初始化FrmDiscountEdit信息
FrmDiscountEdit.txtTerminalName = ""
FrmDiscountEdit.txtTNPYCode = ""
FrmDiscountEdit.txtCarID = ""
FrmDiscountEdit.txtTicketPrice = ""
FrmDiscountEdit.Modify = False
FrmDiscountEdit.VarRecordNumber = OriRecordNumber
FrmDiscountEdit.Show 1
RefreshData
End Sub
Private Sub Cmd_Cancel_Click()
Unload Me
End Sub
Private Sub Cmd_Del_Click()
Dim TmpID As Long
If Adodc1.Recordset.BOF = True Then
MsgBox "请选择记录"
Exit Sub
End If
TmpID = Adodc1.Recordset.Fields(0)
If MsgBox("是否删除当前行", vbYesNo, "请确认") = vbYes Then
Call MyFam.DeleteByID(TmpID)
End If
RefreshData
End Sub
Private Sub Cmd_Modi_Click()
'初始化FrmPriceEdit信息
FrmDiscountEdit.OriID = Adodc1.Recordset.Fields(0)
FrmDiscountEdit.txtCarID = Adodc1.Recordset.Fields(2)
FrmDiscountEdit.txtTicketTypeID = Adodc1.Recordset.Fields(3)
FrmDiscountEdit.txtTicketType = Adodc1.Recordset.Fields(4)
FrmDiscountEdit.txtDiscount = Adodc1.Recordset.Fields(5)
FrmDiscountEdit.VarRecordNumber = OriRecordNumber
FrmDiscountEdit.Modify = True
FrmDiscountEdit.Show 1
RefreshData
End Sub
(6)票价信息管理窗体(FrmPriceManage)代码
Private Sub Cmd_Add_Click()
'初始化FrmDiscountEdit信息
FrmPriceEdit.txtTerminalName = ""
FrmPriceEdit.txtTNPYCode = ""
FrmPriceEdit.txtCarID = ""
FrmPriceEdit.txtTicketPrice = ""
FrmPriceEdit.Modify = False
FrmPriceEdit.VarTermanalID = OriTerminalID
FrmPriceEdit.Show
RefreshData
End Sub
Private Sub Cmd_Cancel_Click()
Unload Me
End Sub
Private Sub Cmd_Del_Click()
Dim TmpID As Long
If Adodc1.Recordset.BOF = True Then
MsgBox "请选择记录"
Exit Sub
End If
TmpID = Adodc1.Recordset.Fields(0)
If MsgBox("是否删除当前行", vbYesNo, "请确认") = vbYes Then
Call MyFam.DeleteByID(TmpID)
End If
RefreshData
End Sub
Private Sub Cmd_Modi_Click()
'初始化FrmPriceEdit信息
FrmPriceEdit.txtCarID = Adodc1.Recordset.Fields(0)
FrmPriceEdit.txtTerminalName = Adodc1.Recordset.Fields(1)
FrmPriceEdit.txtTNPYCode = Adodc1.Recordset.Fields(2)
FrmPriceEdit.txtTicketPrice = Adodc1.Recordset.Fields(3)
FrmPriceEdit.Modify = True
FrmPrice.Show
RefreshData
End Sub
Private Sub Cmd_Search_Click()
GridREfresh '根据条件查询票价信息
End Sub
Private Sub Form_Load()
GridREfresh
End Sub
总结:本系统的整个设计开发是对客票系统网络化的一次的尝试,最后完成的这个系统也只是B/S结构客票系统的一个模型,它的使用对象是市级,比如成都火车站总站做为服务器,成都市内其它的售票窗口做为客户端,如果要推广到全国使用,还面临很多问题,比如全国整个铁路系统包括很多分局,各自权限不一样,他们又下属很多结点,但是本系统的设计和实现证明了全国铁路客票系统的网络化是可行的。
参考文献
[1]高春艳,李俊民. Visual Basic信息系统开发案例精选 [M].北京:机械工业出版社, 2005
[2]林卓然. Visual Basic程序设计教程 [M].北京:电子工业出版社,2004
[3]范剑波.数据库技术及应用 [M].浙江:浙江大学出版社,2007
[4]严辉,刘卫国.数据库技术与应用实践教程——SQL SERVER [M].北京:清华大学出版社,2007
汽车站售票管理系统
票务管理
票价管理
车次管理
用户管理
查询管理
车次信息编辑
票价信息录入
票价信息修改
票价信息删除
前台售票
前台退票
用户信息添加
票价信息修改
票价信息删除
车次信息查询
票价信息查询
图1-4 订票1层图
车票记录
订票记录
车票
处理订票
可供票
查询
核对后的
顾客信息
查询顾客信息
订票信息
车票记录
售票记录
车票
处理买票
可供票
查询
1层图
购票信息
售票记录
0层图
缺票记录
车票汇总
车票记录
车票
处理买票
可供票
查询
购票信息
顶层图
售票信息
购票信息
车站售票管理系统
售票人员
顾客
图1-3 售票1层图
图1-2 0层图
图1-1 顶层图
1
交易金额
身份证号
终点站
起始站
数量
交易时间
日期
订票
换票手续费
换票时间
原票号
新票号
车票
退票手续费
票号
退票
售票
顾客
退票时间
处理退票
退票信息
图1-5 退票1层图
退票记录
换票
N
1
N
1
N
1
N
PAGE
_1296560668.bin