1、管理员还可以对某条线路的车票信息进行修改,删除和查询操作。5,车票订购信息模块 用户可以通过查询时间,线路和汽车信息,来确定自己要买什么时间,什么路线,什么型号的汽车的车票,并形成表单。 程序分为登陆界面,主界面,线路信息管理界面,汽车信息管理界面,车票信息管理界面,票务信息管理界面,员工管理界面这几个主体界面。使用时应先知道管理员或员工帐号和密码,登陆进入系统主菜单界面,里面包括线路信息,汽车信息,车票信息,票务信息,帮助,退出程序菜单选项。三、系统设计 (一)数据流图: 顶层数据流图 1层车票数据流图(二)数据字典:1, 数据项编号数据项名数据项含义说明数据类型长度与其他数据项的关系是否可
2、以为空1Uno用户编号整型4User表主键不2UserName姓名nvarchar203Password密码UserIdentiey身份5Cno汽车编号Coach表主键6Coachnumber车牌号7Ctype汽车型号8Ctime购买时间datetime9Cnum座位数量10Ctv有无电视char11Ccondition有无空调12Coachholder负责人13Lno线路编号Line表主键14Ldepart起始城市15Larrival到达城市16Ltime路程时间17Tno车票编号Ticket表主键18Price车票价格19SoldTicket已卖票数LastTicket剩余票数21Tdat
3、e出发日期22Ttime出发时间23Ptime24Seat座位号25ReserveORBuy预定或购买26Cityno站点编号City表主键27CityName站点名称2, 数据结构数据结构名属 性员工员工编号,姓名,密码,身份汽车汽车编号,汽车型号,车牌号,购买时间,座位数量,有无电视,有无空调,负责人线路线路编号,起始城市,到达城市,路程时间车票车票编号,线路编号,汽车编号,车票价格,已卖票数,剩余票数,出发日期,出发时间购票车票编号,购买日期,预定或购买,座位号站点站点编号,站点名称3, 数据流数据流名输 入输 出变更汽车信息变更信息汽车记录查询汽车信息汽车编号/汽车型号/车牌号/有无电
4、视/有无空调/负责人变更站点信息站点记录变更线路信息线路记录查询线路信息线路编号/起始城市,到达城市变更车票信息车票记录查询车票信息车票编号/起始城市,到达城市/汽车型号/出发日期,出发时间预定车票车票编号,购买日期,预定或购买预订记录购买车票购买记录查询购买情况车票编号/起始城市,到达城市/汽车型号更改用户用户记录员工信息用户输入电脑的用户名、密码系统主菜单4, 数据存储数据存储名输入数据流输出数据流说 明 部 分用户信息变更用户信息查询用户信息汽车信息线路信息车票信息预定车票信息购买车票信息5、 处理过程处理过程名处理操作查询已知汽车/线路/车票信息所需信息购买/预定车票信息+购票时间+座
5、位号无更新再次查询信息用户权限认证用户名,密码,身份用户登录(三)E-R图(四)关系模型: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,车票价格
6、Price,已卖票数SoldTicket,剩余票数LastTicket,出发日期Tdate,出发时间Ttime)5,Purchase车票购买表(车票编号Tno,购买日期Ptime,预定或购买ReserveORBuy,座位号Seat)6,City站点表(站点编号Cityno,站点名称CityName)四、系统实现(一)数据库设计:1,City站点表: 2,Userinfo员工表:3,Ticket车票信息表:4,Coach汽车信息表:5,Purchase车票购买表:6,Line线路表 : (二)主要界面及代码1,登录界面: 登录操作代码:(1)SqlHelper helper = new SqlH
7、elper(); SqlDataReader rdr;(2)if (string.IsNullOrEmpty(name) | string.IsNullOrEmpty(password) | string.IsNullOrEmpty(identity) MessageBox.Show(姓名,密码,身份框均不能为空!); rdr = helper.ExecuteReader(dbo.SelectUserinfo, CommandType.StoredProcedure); while (rdr.Read() if (rdrUserName.ToString() = name & rdrPassw
8、ord.ToString() = password & rdrUserIdentity.ToString() = identity) this.Hide(); string iden = rdr.ToString(); MainForm main = new MainForm(iden); main.ShowDialog(); rdr.Close(); return; MessageBox.Show(错误的姓名或密码或与身份不匹配,请重新输入! rdr.Close();(3)存储过程: ALTER PROCEDURE dbo.SelectUserinfo /* ( parameter1 int
9、 = 5, parameter2 datatype OUTPUT ) */ AS /* SET NOCOUNT ON */ BEGIN select * from Userinfo END2,系统主界面3,员工管理界面:修改/删除操作代码:(1) try SqlCommandBuilder scb = new SqlCommandBuilder(sd); sd.Update(ds, a ds.AcceptChanges(); MessageBox.Show(修改成功! catch (Exception ex) MessageBox.Show(ex.Message.ToString(); (2)
10、 try int a = dataGridView1.CurrentRow.Index; ds.Tables0.Rowsa.Delete();删除成功!4,汽车信息管理界面:添加操作代码: (1)DAL.CoachDAO coach = new Coach.DAL.CoachDAO(); SqlHelper helper = new SqlHelper(); (2) if (string.IsNullOrEmpty(coachnumber) | string.IsNullOrEmpty(seatnumber1) | string.IsNullOrEmpty(coachholder) Messa
11、geBox.Show(车牌号,座位数量,负责人均不能为空! else if (coach.Add(coachtype,coachnumber,date2,seatnumber,ishavetv,ishavecon,coachholder) MessageBox.Show(添加成功! else添加失败! (3)实体类CoachDAO.cs中: public bool Add(string coachtype,string coachnumber,DateTime date2, int seatnumber,string ishavetv,string ishavecon,string coach
12、holder) bool flag = false; DataTable dt = new DataTable(); string cmdText = dbo.AddCoach; SqlParameter paras = new SqlParameter new SqlParameter(coachtype,coachtype),coachnumber,coachnumber),date2,date2),seatnumber,seatnumber),ishavetv,ishavetv),ishavecon,ishavecon),coachholder,coachholder) ; int re
13、s = helper.ExecuteNonQuery(cmdText, paras, CommandType.StoredProcedure); if (res 0) flag = true; return flag; (4)存储过程: ALTER PROCEDURE dbo.AddCoachcoachtype nvarchar(20),coachnumber nvarchar(20),date2 datetime,seatnumber int,ishavetv char(10),ishavecon char(10),coachholder nvarchar(20)/*(parameter1
14、int = 5,parameter2 datatype OUTPUT)*/AS/* SET NOCOUNT ON */BEGINinsert into Coach (Ctype,Coachnumber,Ctime,Cnum,Ctv,Ccondition,Coachholder) values (coachtype,coachnumber,date2,seatnumber,ishavetv,ishavecon,coachholder)END5,线路信息管理界面:搜索操作代码:(1) SqlHelper helper = new SqlHelper(); SqlConnection conn =
15、new SqlConnection(Data Source=(local);Initial Catalog=Coach;Integrated Security=True SqlDataAdapter sd; /定义一个数据适配器 DataSet ds; /定义一个数据集(2) string str1 = select Lno as 编号,Ldepart as 起始城市,Larrival as 到达城市,convert(varchar(10),Ltime,108) as 路程时间 from Line where Lno = + lineid + dataBind(str1);(3) privat
16、e void dataBind(string str) try sd = new SqlDataAdapter(str, conn); ds = new DataSet(); sd.Fill(ds, dataGridView1.DataSource = ds; dataGridView1.DataMember = MessageBox.Show(ex.Message);6,车票信息管理界面:7,车票信息管理中,选择汽车和路线界面:8,票务管理界面 : 查询操作代码:(1) DAL.PurchaseDAO purchase = new Coach.DAL.PurchaseDAO();SqlHel
17、per helper = new SqlHelper();(2) dataGridView1.DataSource = purchase.Select1(departcity,arrivalcity,date2);(3) 实体类PurchaseDAO.cs中: public DataTable Select1(string departcity, string arrivalcity, DateTime date2)dbo.SelectPurchase new SqlParameter(departcity,departcity),arrivalcity,arrivalcity),date2) dt = helper.ExecuteQuery(cmdText, paras, CommandType.StoredProcedure); return dt;(4) 存储过程 ALTER PROCEDURE dbo.SelectPurchasedepartcity nvarchar(20),arrivalcity nvarchar(20),date2 datetimeBE
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2