车站售票管理系统资料Word格式.docx
《车站售票管理系统资料Word格式.docx》由会员分享,可在线阅读,更多相关《车站售票管理系统资料Word格式.docx(35页珍藏版)》请在冰点文库上搜索。
![车站售票管理系统资料Word格式.docx](https://file1.bingdoc.com/fileroot1/2023-5/10/e55f6e4f-c000-4fee-a50c-1dcbb9ab4d8f/e55f6e4f-c000-4fee-a50c-1dcbb9ab4d8f1.gif)
置相应的车票详细信息。
管理员还可以对某条线路的车票信息进行修改,删除和查询操作。
5,车票订购信息模块
用户可以通过查询时间,线路和汽车信息,来确定自己要买什么时间,什么路线,什么型号的汽车的车票,并形成表单。
程序分为登陆界面,主界面,线路信息管理界面,汽车信息管理界面,车票信息管理界面,票务信息管理界面,员工管理界面这几个主体界面。
使用时应先知道管理员或员工帐号和密码,登陆进入系统主菜单界面,里面包括线路信息,汽车信息,车票信息,票务信息,帮助,退出程序菜单选项。
三、系统设计
(一)数据流图:
系统管理汽车,路线等信息购票信息车站售票管理系统员汽车,线路等信息售票信息
售票员
顶层数据流图
购票信息查询可供票处理买票车票车票记录售票记录车票信息信息处理线路记录汽车记录站点信息信息处理读入汽车信息
站点记录
1层车票数据流图
-2-
报表打印已售车票打印售票报表售票员显示发车时刻汽车表提取站点站点表
查看已售车票情况查询出售票信息处理增,删,改增,删,改增,删,改增,删,改
查看发车时刻表
售票
查询决定决定
发车修改修改系统管理员
线路表
决定线路变更汽车变更站点修改人员变更
员工表
-3-
(二)数据字典:
1,数据项
编号
数据项名
数据项含义说明
数据类型
长度
与其他数据项的关系
是否可以为空
1
Uno
用户编号
整型
4
User表主键
不
2
UserName
姓名
nvarchar
20
3
Password
密码
4
UserIdentiey
身份
5
Cno
汽车编号
表主键Coach
6
Coachnumber
车牌号
7
Ctype
汽车型号
8
Ctime
购买时间
datetime
9
Cnum
座位数量
整型
10
Ctv
有无电视
char
11
Ccondition
有无空调
12
Coachholder
负责人
13
Lno
线路编号
Line表主键
14
Ldepart
起始城市
15
Larrival
到达城市
16
Ltime
路程时间
17
Tno
车票编号
表主键Ticket
18
Price
车票价格
19
SoldTicket
已卖票数
LastTicket
剩余票数
21
Tdate
出发日期
22
Ttime
出发时间
23
Ptime
24
Seat
座位号
25
ReserveORBuy
预定或购买
26
Cityno
站点编号
City表主键
不
27
CityName
站点名称
2,数据结构
数据结构名
属性
员工
员工编号,姓名,密码,身份
汽车
汽车编号,汽车型号,车牌号,购买时间,座位数量,有无电视,有无空调,负责人
线路
线路编号,起始城市,到达城市,路程时间
车票
车票编号,线路编号,汽车编号,车票价格,已卖票数,剩余票数,出发日期,出发时间
购票
车票编号,购买日期,预定或购买,座位号
站点
站点编号,站点名称
-4-
3,数据流
数据流名
输入
输出
变更汽车信息
变更信息
汽车记录
查询汽车信息
有汽车编号/汽车型号/车牌号/有无电视/无空调/负责人
变更站点信息
变更信息
站点记录
变更线路信息
线路记录
查询线路信息
起始城市,到达城市线路编号/
变更车票信息
车票记录
查询车票信息
/车票编号/起始城市,到达城市汽车型号/出发日期,出发时间
预定车票
车票编号,购买日期,预定或购买
预订记录
购买车票
车票编号,购买日期,预定或购买
购买记录
查询购买情况
车票编号/起始城市,到达城市/汽车型号
更改用户
用户记录
员工信息
用户输入电脑的用户名、密码
系统主菜单
4,数据存储
数据存储名
输入数据流
输出数据流
说明部分
用户信息
变更用户信息
查询用户信息
汽车信息
变更汽车信息
线路信息
变更线路信息
查询线路信息
车票信息
变更车票信息
查询车票信息
预定车票信息
预订记录
购买车票信息
购买记录
5、处理过程
处理过程名
处理操作
查询
车票信息已知汽车/线路/
所需信息
预定/购买
座位号购票时间车票信息++
无
更新
再次查询信息
用户权限认证
用户名,密码,身份
用户登录
-5-
(三)E-R图
姓名密码员工编号身份预定或购买购买日期座位号车票编号车票价格出发时间剩余票数出发日期已卖票数负责人mp包含包含汽车型号11到达城市座位数量线路编号车牌号有无电视起始城市路程时间汽车编号有无空调p购买时间员工编号
m购买n
车票
m管理n系统管理员姓名
汽车
线路
nm管理管理
m
身份密码站点编号
站点
站点名称
-6-
(四)关系模型:
1,User员工表(员工编号Uno,姓名UserName,密码Password,身份UserIdentiey)
2,Coach汽车信息表(汽车编号Cno,汽车型号Ctype,车牌号Coachnumber,购买时间Ctime,座位数量
Cnum,有无电视Ctv,有无空调Ccondition,负责人Coachholder)
3,Line线路信息表(线路编号Lno,起始城市Ldepart,到达城市Larrival,路程时间Ltime)
4,Ticket车票信息表(车票编号Tno,线路编号Lno,汽车编号Cno,车票价格Price,已卖票数SoldTicket,
剩余票数LastTicket,出发日期Tdate,出发时间Ttime)
5,Purchase车票购买表(车票编号Tno,购买日期Ptime,预定或购买ReserveORBuy,座位号Seat)
6,City站点表(站点编号Cityno,站点名称CityName)
四、系统实现
(一)数据库设计:
,City站点表:
员工表:
2,Userinfo
Ticket3,车票信息表:
-7-
Coach汽车信息表:
4,
车票购买表:
5,Purchase
线路表:
,6Line
(二)主要界面及代码1,登录界面:
-8-
登录操作代码:
(1)SqlHelperhelper=newSqlHelper();
SqlDataReaderrdr;
(2)if(string.IsNullOrEmpty(name)||string.IsNullOrEmpty(password)||string.IsNullOrEmpty(identity))
{
MessageBox.Show(姓名,密码,身份框均不能为空!
);
}
rdr=helper.ExecuteReader(摜潢匮汥捥啴敳楲普屯,CommandType.StoredProcedure);
while(rdr.Read())
if(rdr[啜敳乲浡履].ToString()==name&
&
rdr[停獡睳牯層].ToString()==password&
rdr[啜敳?
敤瑮瑩屹].ToString()==identity)
this.Hide();
stringiden=rdr[啜敳?
敤瑮瑩屹].ToString();
MainFormmain=newMainForm(iden);
main.ShowDialog();
rdr.Close();
return;
MessageBox.Show(错误的姓名或密码或与身份不匹配,请重新输入!
(3)存储过程:
ALTERPROCEDUREdbo.SelectUserinfo
/*
(
@parameter1int=5,
@parameter2datatypeOUTPUT
)
*/
AS
/*SETNOCOUNTON*/
BEGIN
select*fromUserinfo
END
-9-
2,系统主界面
3,员工管理界面:
修改/删除操作代码:
(1)try
SqlCommandBuilderscb=newSqlCommandBuilder(sd);
sd.Update(ds,慜);
ds.AcceptChanges();
MessageBox.Show(修改成功!
catch(Exceptionex)
-10-
MessageBox.Show(ex.Message.ToString());
(2)try
inta=dataGridView1.CurrentRow.Index;
ds.Tables[0].Rows[a].Delete();
MessageBox.Show(删除成功!
4,汽车信息管理界面:
添加操作代码:
(1)DAL.CoachDAOcoach=newCoach.DAL.CoachDAO();
SqlHelperhelper=newSqlHelper();
(2)if(string.IsNullOrEmpty(coachnumber)||string.IsNullOrEmpty(seatnumber1)||
string.IsNullOrEmpty(coachholder))
{MessageBox.Show(车牌号,座位数量,负责人均不能为空!
else
if(coach.Add(coachtype,coachnumber,date2,seatnumber,ishavetv,ishavecon,coachholder))
MessageBox.Show(添加成功!
-11-
MessageBox.Show(添加失败!
(3)实体类CoachDAO.cs中:
publicboolAdd(stringcoachtype,stringcoachnumber,DateTimedate2,intseatnumber,string
ishavetv,stringishavecon,stringcoachholder)
boolflag=false;
DataTabledt=newDataTable();
stringcmdText=摜潢?
摤潃捡屨;
SqlParameter[]paras=newSqlParameter[]{
newSqlParameter(?
潣捡瑨灹履,coachtype),
潣捡湨浵敢屲,coachnumber),
慤整尲,date2),
敳瑡畮扭牥,seatnumber),
獩慨敶癴,ishavetv),
獩慨敶潣屮,ishavecon),
潣捡桨汯敤屲,coachholder)
};
intres=helper.ExecuteNonQuery(cmdText,paras,CommandType.StoredProcedure);
if(res>
0)
flag=true;
returnflag;
(4)存储过程:
ALTERPROCEDUREdbo.AddCoach
@coachtypenvarchar(20),
@coachnumbernvarchar(20),
@date2datetime,
@seatnumberint,
@ishavetvchar(10),
@ishaveconchar(10),
@coachholdernvarchar(20)
AS
insertintoCoach(Ctype,Coachnumber,Ctime,Cnum,Ctv,Ccondition,Coachholder)values
(@coachtype,@coachnumber,@date2,@seatnumber,@ishavetv,@ishavecon,@coachholder)
-12-
END
5,线路信息管理界面:
搜索操作代码:
(1)SqlHelperhelper=newSqlHelper();
SqlConnectionconn=newSqlConnection(DataSource=(local);
InitialCatalog=Coach;
Integrated
敓畣楲祴吽畲履);
SqlDataAdaptersd;
//定义一个数据适配器
DataSetds;
//定义一个数据集
(2)stringstr1=selectLnoas编号,Ldepartas起始城市,Larrivalas到达城市,convert(varchar(10),Ltime,108)
as路程时间牦浯?
湩?
桷牥?
湌?
尽+lineid+\;
dataBind(str1);
(3)privatevoiddataBind(stringstr)
try
sd=newSqlDataAdapter(str,conn);
ds=newDataSet();
sd.Fill(ds,慜);
dataGridView1.DataSource=ds;
dataGridView1.DataMember=慜;
MessageBox.Show(ex.Message);
-13-
6,车票信息管理界面:
7,车票信息管理中,选择汽车和路线界面:
-14-
8,票务管理界面:
查询操作代码:
(1)DAL.PurchaseDAOpurchase=newCoach.DAL.PurchaseDAO();
SqlHelperhelper=newSqlHelper();
(2)dataGridView1.DataSource=purchase.Select1(departcity,arrivalcity,date2);
(3)实体类PurchaseDAO.cs中:
publicDataTableSelect1(stringdepartcity,stringarrivalcity,DateTimedate2)
stringcmdText=摜潢匮汥捥側牵档獡履;
敤慰瑲楣祴,departcity),
牡楲慶捬瑩屹,arrivalcity),
慤整尲,date2)
dt=helper.ExecuteQuery(cmdText,paras,CommandType.StoredProcedure);
returndt;
(4)存储过程
ALTERPROCEDUREdbo.SelectPurchase
@departcitynvarchar(20),
@arrivalcitynvarchar(20),
@date2datetime
@parameter2datat