vb连接access数据库车站售票管理系统示例.docx
- 文档编号:8740938
- 上传时间:2023-05-14
- 格式:DOCX
- 页数:35
- 大小:3.02MB
vb连接access数据库车站售票管理系统示例.docx
《vb连接access数据库车站售票管理系统示例.docx》由会员分享,可在线阅读,更多相关《vb连接access数据库车站售票管理系统示例.docx(35页珍藏版)》请在冰点文库上搜索。
vb连接access数据库车站售票管理系统示例
一、设计任务与要求
1、项目背景:
随着市场经济的不断飞速发展,交通道路环境的不断改善,人们的出行次数不断增多,人口流动频繁,数量不断加大,车站信息量迅猛增长,车站售票管理系统在人们的日常生活中发挥着越来越重要的作用。
本系统实现了线路信息,票务信息的查询和管理,满足人们的需求。
2、编写目的:
掌握数据库设计原理及相关软件的使用。
实现方便、快速售票;是用户准确了解售票情况,提供多种查询和统计功能;实现系统的安全性设置,使系统本身具有一定的维护功能。
3、软件定义:
车站售票管理系统,主要用于车站日常的票务处理。
4、开发环境:
VisualBasic6.0,MicrosoftOfficeAccess2003数据库
二、需求分析
询
1、员工信息模块:
员工有两种身份,售票员和系统管理员。
系统管理员可以进行系统用户的添加,密码的修改操作,火车线路,车票信息的更新等,售票员可以查询以上信息和购买车票等。
2、火车信息管理模块:
系统管理员可以在火车信息管理模块实现对火车信息的管理。
管理员首先应该建立火车信息数据库,输入原始的数据信息,当有新的火车信息的时候或者管理员需要修改某个火车的相关信息以及想要删除某个火车信息的时候,就可以完成相应的操作。
管理员也可以在整个数据库中查询相关火车信息。
3、车票信息管理模块:
系统管理员可以在车票管理模块实现对车票信息的管理。
根据系统当前时间自动更新车票信息,其中出发日期为当前日期到以后12天之内。
4、订票系统模块:
用户可以通过查询时间,线路和火车信息,来确定自己要买什么时间,什么路线,什么型号的火车的车票,并形成表单。
程序分为登陆界面,主界面,员工信息管理界面,火车信息管理界面,车票信息管理界面,订票系统模块这几个主体界面。
使用时应先知道管理员或员工帐号和密码,登陆进入系统主菜单界面,里面包括员工信息,当前登录用户信息,火车信息,车票信息,票务信息等,其中员工信息操作,火车信息操作只有系统管理员身份才有权限操作。
三、系统总体设计
(一)数据字典:
1、数据项
编号
数据项名
数据项含义说明
数据类型
长度
与其他数据项的关系
是否可以为空
1
Uno
员工编号
nvarchar
20
User表主键
不
2
UserName
姓名
nvarchar
20
不
3
Password
密码
nvarchar
20
不
4
UserIdentiey
身份
nvarchar
20
不
5
Tno
车次号
nvarchar
20
Train表主键
不
6
Ttype
车次类型
nvarchar
20
不
7
Ctype
座位类型
nvarchar
20
不
8
Cnum
座位数量
整型
4
不
9
Ccondition
有无空调
char
10
不
10
Fsta
起始站
nvarchar
20
不
11
Lsta
终点站
nvarchar
20
不
12
Ftime
出发时间
datetime
8
不
13
Ltime
到达时间
datetime
8
不
14
Price
价格
整型
4
不
15
Tno
车次号
nvarchar
20
Ticket表主键
不
16
Dtime
出发日期
datetime
8
Ticket表主键
不
17
LastTicket
剩余票数
整型
4
不
18
Tno
车次号
nvarchar
20
Purchase表主键
不
19
Dtime
出发日期
datetime
8
Purchase表主键
不
20
Seat
座位号
整型
4
Purchase表主键
不
2、数据结构
编号
数据结构名
属性
1
员工
员工编号,姓名,密码,身份
2
火车
车次号,车次类型,座位类型,座位数量,有无空调,起始站,终点站,出发时间,到达时间,价格
3
车票
车次号,出发日期,剩余票数
4
购票
车次号,出发日期,座位号
3、数据流
编号
数据流名
输入
输出
1
变更火车信息
变更信息
火车记录
2
查询火车信息
车次号/车次类型
火车记录
3
查询线路信息
线路编号/起始站/终点站
线路记录
4
变更车票信息
变更信息
车票记录
5
查询车票信息
车次号/出发日期/剩余票数
车票记录
6
预定车票
车次号/购买日期/预定或购买
预订记录
7
购买车票
车次号/购买日期/预定或购买
购买记录
8
查询购买情况
车次号/起始站/终点站
购买记录
9
更改用户
变更信息
用户记录
10
员工信息
用户输入电脑的用户名、密码
系统主菜单
4、数据存储
数据存储名
输入数据流
输出数据流
说明部分
用户信息
变更用户信息
查询用户信息
火车信息
变更火车信息
查询火车信息
车票信息
变更车票信息
查询车票信息
购买车票信息
车票信息
购买记录
5、处理过程
处理过程名
输入数据流
输出数据流
处理操作
查询
已知火车/线路/车票信息
所需信息
购买
已知火车/线路/车票信息
车票信息+出发时间+座位号
更新
变更信息
再次查询信息
用户权限认证
用户名,密码,身份
系统主菜单
用户登录
四、数据库设计:
(1)概念结构设计
E-R图
密码
员工编号
姓名
身份
系统管理员
管理
mn
起始站
售票员
终点站
车次号号号
1
出售
座位号
座位类型
火车
自动更新
1m
座位数量
有无空调
票价
出发日期
车票
n
到达时间
出发时间
剩余票数
(2)逻辑结构设计
关系模型
1、User售票员表(员工编号Uno,姓名UserName,密码Password,身份UserIdentiey)
2、Train火车信息表(车次号Tno,车次类型Ttype,座位类型Ctype,座位数量Cnum,有无空调Ccondition,起始站Fsta,终点站Lsta,出发时间Ftime,到达时间Ltime,价格Price)
3、Ticket车票信息表(车次号Tno,出发日期Dtime,剩余票数LastTicket)
(2)4、Purchase车票购买表(车次号Tno,出发日期Dtime,座位号Seat)
(3)物理结构设计
1、User表:
2、Train表:
3、Ticket表:
4、Purchase表:
五.运行结果和测试及代码
1,登录界面:
登录操作代码:
DimUnAsString
PrivateSubCombo1_Change()
EndSub
PrivateSubCommand1_Click()
DimconnAsNewADODB.Connection
DimrsAsNewADODB.Recordset
conn.Open"Provider=Microsoft.Jet.OLEDB.4.0;DataSource="&App.Path&"\STMS.mdb;PersistSecurityInfo=False"
SQL="select*fromUserswhereUno='"&Text1.Text&"'andPassword='"&Text2.Text&"'andUserIdentiey='"&Combo1.Text&"'"
rs.OpenSQL,conn,1,2
Ifrs.RecordCount<>0Then
MsgBox"登录成功..正在进入页面"
Un=rs!
uno
Form2.Label1.Caption=Un
Form2.Show
UnloadMe
ElseIfrs.RecordCount=0Then
MsgBox"密码错误"
EndIf
rs.Close
EndSub
PrivateSubCommand2_Click()
Text1.Text=""
Text2.Text=""
Combo1.Text=""
EndSub
2,系统主界面
系统主界面操作代码:
PrivateSubForm_Load()
EndSub
PrivateSubLabel1_Click()
DimconnAsNewADODB.Connection
DimrsAsNewADODB.Recordset
conn.Open"Provider=Microsoft.Jet.OLEDB.4.0;DataSource="&App.Path&"\STMS.mdb;PersistSecurityInfo=False"
SQL="select*fromUserswhereUno='"&Label1.Caption&"'"
rs.OpenSQL,conn,1,2
Form3.Label4.Caption=rs!
uno
Form3.Label5.Caption=rs!
UserName
Form3.Label6.Caption=rs!
UserIdentiey
Form3.Show
EndSub
PrivateSubLabel3_Click()
Form4.Show
EndSub
PrivateSubLabel4_Click()
Form6.Show
EndSub
PrivateSubLabel5_Click()
Form7.Show
EndSub
PrivateSubTimer1_Timer()
EndSub
3、员工信息界面:
添加/修改/查询/删除操作代码:
PrivateSubCommand1_Click()
UnloadMe
EndSub
PrivateSubCommand2_Click()
DimconnAsNewADODB.Connection
DimrsAsNewADODB.Recordset
DimstrAsString
conn.Open"Provider=Microsoft.Jet.OLEDB.4.0;DataSource="&App.Path&"\STMS.mdb;PersistSecurityInfo=False"
s="select*fromUserswhereUno='"&Form2.Label1.Caption&"'"
rs.Opens,conn,1,2
Ifrs!
UserIdentiey<>"系统管理员"Then
rs.Close
MsgBox"不是系统管理员无权操作"
GoTom
Else
rs.Close
EndIf
SQL="select*fromUsers"
sq="select*fromUserswhereUno='"&Text1.Text&"'"
rs.Opensq,conn,1,2
IfText1.Text=""OrText2.Text=""OrText3.Text=""OrCombo1.Text=""Then
MsgBox"请输入完整的信息"
str="1"
EndIf
Ifstr<>"1"Andrs.RecordCount<>0Then
MsgBox"主键必须唯一"
ElseIfstr<>"1"Andrs.RecordCount=0Then
a=MsgBox("确定添加该用户?
",35,"确认")
Ifa=vbYesThen
rs.Close
rs.OpenSQL,conn,1,2
rs.AddNew
rs!
uno=Text1.Text
rs!
UserName=Text2.Text
rs!
Password=Text3.Text
rs!
UserIdentiey=Combo1.Text
rs.Update
MsgBox"添加成功"
Else:
GoTom
EndIf
EndIf
m:
EndSub
PrivateSubCommand3_Click()
DimconnAsNewADODB.Connection
DimrsAsNewADODB.Recordset
conn.Open"Provider=Microsoft.Jet.OLEDB.4.0;DataSource="&App.Path&"\STMS.mdb;PersistSecurityInfo=False"
s="select*fromUserswhereUno='"&Form2.Label1.Caption&"'"
rs.Opens,conn,1,2
Ifrs!
UserIdentiey<>"系统管理员"Then
rs.Close
MsgBox"不是系统管理员无权操作"
GoTom
Else
rs.Close
EndIf
IfText1.Text<>""AndText2.Text<>""AndText3.Text<>""AndCombo1.Text<>""Then
sq="select*fromUserswhereUno='"&Text1.Text&"'"
rs.Opensq,conn,1,2
Ifrs!
uno=""Then
MsgBox"无此用户"
Else
a=MsgBox("确定修改该用户?
",35,"确认")
Ifa=vbYesThen
rs!
uno=Text1.Text
rs!
UserName=Text2.Text
rs!
Password=Text3.Text
rs!
UserIdentiey=Combo1.Text
MsgBox"修改成功"
Else:
GoTom
EndIf
EndIf
Else
MsgBox"请输入完整信息"
EndIf
m:
EndSub
PrivateSubCommand4_Click()
DimconnAsNewADODB.Connection
DimrsAsNewADODB.Recordset
conn.Open"Provider=Microsoft.Jet.OLEDB.4.0;DataSource="&App.Path&"\STMS.mdb;PersistSecurityInfo=False"
s="select*fromUserswhereUno='"&Form2.Label1.Caption&"'"
rs.Opens,conn,1,2
Ifrs!
UserIdentiey<>"系统管理员"Then
rs.Close
MsgBox"不是系统管理员无权操作"
GoTom
Else
rs.Close
EndIf
IfText1.Text=""Then
MsgBox"请输入用户编号"
GoTom
Else
sq="select*fromUserswhereUno='"&Text1.Text&"'"
rs.Opensq,conn,1,2
Ifrs!
uno=""Then
MsgBox"无此用户请重新输入"
GoTom:
Else
a=MsgBox("确定删除该用户?
",35,"确认")
Ifa=vbYesThen
rs.Delete
rs.Update
MsgBox"已删除"
Else
GoTom
EndIf
EndIf
EndIf
m:
EndSub
PrivateSubCommand5_Click()
Text1.Text=""
Text2.Text=""
Text3.Text=""
Combo1.Text=""
DataGrid1.Visible=False
EndSub
PrivateSubCommand6_Click()
DimconnAsNewADODB.Connection
DimrsAsNewADODB.Recordset
conn.Open"Provider=Microsoft.Jet.OLEDB.4.0;DataSource="&App.Path&"\STMS.mdb;PersistSecurityInfo=False"
sq="select*fromUserswhereUno='"&Form2.Label1.Caption&"'"
rs.Opensq,conn,1,2
Ifrs!
UserIdentiey<>"系统管理员"Then
rs.Close
MsgBox"不是系统管理员无权操作"
GoTom
Else
rs.Close
EndIf
SQL="selectUnoas用户编号,UserNameas姓名,UserIdentieyas身份fromUserswhereUserIdentiey='"&Combo1.Text&"'andUnoLike'%"&Text1.Text&"%'andUserNameLike'%"&Text2.Text&"%'"
rs.CursorLocation=adUseClient
rs.OpenSQL,conn,3,3
SetDataGrid1.DataSource=rs
DataGrid1.Refresh
DataGrid1.Visible=True
m:
EndSub
PrivateSubCommand7_Click()
Text1.Enabled=False
EndSub
PrivateSubForm_Load()
EndSub
4、火车信息管理界面:
添加/修改/删除/查询操作代码:
PrivateSubCommand1_Click()
UnloadMe
EndSub
PrivateSubCommand2_Click()
DimconnAsNewADODB.Connection
DimrsAsNewADODB.Recordset
DimstrAsString
conn.Open"Provider=Microsoft.Jet.OLEDB.4.0;DataSource="&App.Path&"\STMS.mdb;PersistSecurityInfo=False"
s="select*fromUserswhereUno='"&Form2.Label1.Caption&"'"
rs.Opens,conn,1,2
Ifrs!
UserIdentiey<>"系统管理员"Then
rs.Close
MsgBox"不是系统管理员无权操作"
GoTom
Else
rs.Close
EndIf
SQL="select*fromUsers"
sq="select*fromUserswhereUno='"&Text1.Text&"'"
rs.Opensq,conn,1,2
IfText1.Text=""OrText2.Text=""OrText3.Text=""OrCombo1.Text=""Then
MsgBox"请输入完整的信息"
str="1"
EndIf
Ifstr<>"1"Andrs.RecordCount<>0Then
MsgBox"主键必须唯一"
ElseIfstr<>"1"Andrs.RecordCount=0Then
a=MsgBox("确定添加该用户?
",35,"确认")
Ifa=vbYesThen
rs.Close
rs.OpenSQL,conn,1,2
rs.AddNew
rs!
uno=Text1.Text
rs!
UserName=Text2.Text
rs!
Password=Text3.Text
rs!
UserIdentiey=Combo1.Text
rs.Update
MsgBox"添加成功"
Else:
GoTom
EndIf
EndIf
m:
EndSub
PrivateSubCommand3_Click()
DimconnAsNewADODB.Connection
DimrsAsNewADODB.Recordset
conn.Open"Provider=Microsoft.Jet.OLEDB.4.0;DataSource="&App.Path&"\STMS.mdb;PersistSecurityInfo=False"
s="select*fromUserswhereUno='"&Form2.Label1.Caption&"'"
rs.Opens,conn,1,2
Ifrs!
UserIdentiey<>"系统管理员"Then
rs.Close
MsgBox"不是系统管理员无权操作"
GoTom
Else
rs.Close
EndIf
IfText1.Text<>""AndText2.Text<>""AndText3.Text<>""AndCombo1.Text<>""Then
sq="select*fromUserswhereUno='"&Text1.Text&"'"
rs.Opensq,conn,1,2
Ifrs!
uno=""Then
MsgBox"无此用户"
Else
a=MsgBox("确定修改该用户?
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- vb 连接 access 数据库 车站 售票 管理 系统 示例