


版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、吉林工程技术师范学院课程设计报告设计名称:车站售票信息管理系统姓 名: 孟祥丽学 号:23号专 业: 计算机科学与技术班级:C1042院系:信息工程学院指导教师: 刘国成、杨宇晶、郭天娇2010年12月16日一、概述1、 项目背景:随着市场经济的不断飞速发展,交通道路环境的不断改善,人们的出行次数不断增多,人口流动频繁,数量不断加大,车站信息量迅猛增长,车站售票管理系统在人们的日常生活中发挥着越来越重要的作用。本系统实现了线路信息,汽车信息,票务信息的查询和管理,满足人们的需求2、 编写目的:掌握数据库设计原理及相关软件的使用.实现方便、快速售票;是用户准确了解售票情况,提供多种查询和统计功能
2、;实现系统的安全性设置,使系统本身具有一定的维护功能。3、软件定义:车站售票管理系统,主要用于车站日常的票务处理。4、开发环境:Visual Studio2008,SQL SERVER2000需求分析车站售票管理系统员工信息添加汽车信息添加汽车 管理 模块线路 管理 模块车票 管理 模块票务 信息 管理 模块汽车信息修改汽车信息查询线路信息添加线路信息修改线 路 信 息 删 除删 除 车 票购奔预订车票功能模块图1, 员工管理模块:员工有两种身份,售票员和系统管理员系统管理员可以进行系统用户的添加,密码的修改操作,汽车,线路,车票信息的更新等,售票员可以查询以上信息和购买车票等2, 线路信息管
3、理模块:系统管理员可以在线路信息管理模块对车站线路信息进行管理。管理员首先建立线路信息数据库,输入原始的线路信息,当有新的线路需要添加或者需要对已有的线路信息进行修改,删除的时候,管理员就可以进行相应的操作管理员也可以通过本模块查询到所有需要查询的线路的详细信息。3, 汽车信息管理模块:系统管理员可以在汽车信息管理模块实现对汽车信息的管理。管理员首先应该建立汽车信息数据库,输入原始的数据信息,当有新的汽车信息的时候或者管理员需要修改某个汽车的相关信息以及想要删除某个汽车信息的时候,就可以完成相应的操作管理员也可以在整个数据库中查询相关汽车信息4, 车票信息管理模块:系统管理员可以在车票管理模块
4、实现对车票信息的管理。管理员根据相应的汽车信息和线路信息来设个人收集整理勿做商业用途置相应的车票详细信息管理员还可以对某条线路的车票信息进行修改,删除和查询操作。5, 车票订购信息模块用户可以通过查询时间,线路和汽车信息,来确定自己要买什么时间,什么路线,什么型号的汽车的车票,并形成表单。程序分为登陆界面,主界面,线路信息管理界面,汽车信息管理界面,车票信息管理界面,票务信息管理界面,员工管理界面这几个主体界面。使用时应先知道管理员或员工帐号和密码,登陆进入系统主菜单 界面,里面包括线路信息,汽车信息,车票信息,票务信息,帮助,退出程序菜单选项。三、系统设计购票信息f查询1 丿r a可供票处理
5、买票车票车票记录记录车票信息汽车信息站点记录(一)数据流图系统管理汽车 路线等信自 W购票信自员W汽车,线路等信息 车站售票管理系统人勺 XJ、| | 丿2、售票信自一售票员顶层数据流图1层车票数据流图查询隹西口 xK决定增汽车变更增改增改增改(二)数据字典显示发车时刻线路表决定汽车表站点表已售车票查看已售车票情况出售票打印售票报表报表打印 >员工表发车时刻表 V决定线路变更站点修改提取站点信息处理V1)修改查询f发车修改售票员系统管理员人员变更1, 数据项编号数据项名数据项含义说明数据类型长度与其他数据项的关系是否可以为空1Uno:用户编号整型4User表主键不2UserName姓名n
6、 varchar20不3Password密码n varchar20不4Useride ntiey:身份n varchar20:不5Cno汽车编号整型4Coach表主键不6Coach nu mber车牌号n varchar20不7Ctype气车型号n varchar208Ctime:购买时间datetime89Cnum座位数量整型4不10Ctv有无电视char1011Ccon diti on有无空调char1012Coachholder负责人n varchar20不13Lno:线路编号整型4Line表主键:不14Ldepart:起始城市n varchar20不15Larrival:到达城市n v
7、archar20不16Ltime路程时间datetime817Tno:车票编号整型4Ticket表主键:不18Price车票价格整型4不19SoldTicket已卖票数整型4:不20LastTicket剩余票数整型4不21Tdate出发日期datetime8不22Ttime出发时间datetime8不23Ptime:购买时间datetime824Seat座位号整型4不25ReserveORBuy:预定或购买char10不26Cit yno站点编号整型4City表主键不27CityName站点名称n varchar20不2, 数据结构编号数据结构名属性1员工员工编号,姓名,密码,身份2汽车汽车编
8、号,汽车型号,车牌号,购买时间,座位数量,有无电视,有无空调,负责人3线路线路编号,起始城市,到达城市,路程时间4车票车票编号,线路编号,汽车编号,车票价格,已卖票数,剩余票数,出发日期,出发时间5购票车票编号,购买日期,预定或购买,座位号6站点站点编号,站点名称3, 数据流编号数据流名输入输出1变更汽车信息变更信息汽车记录2查询汽车信息汽车编号/汽车型号/车牌号/有无电视/有 无空调/负责人汽车记录3变更站点信息变更信息站点记录4变更线路信息变更信息线路记录5查询线路信息线路编号/起始城市,到达城市线路记录6变更车票信息变更信息车票记录7查询车票信息车票编号/起始城市,到达城市/汽车型号/
9、出发日期,出发时间车票记录8预定车票车票编号,购买日期,预定或购买预订记录9购买车票车票编号,购买日期,预定或购买购买记录10查询购买情况车票编号/起始城市,到达城市/汽车型号购买记录11更改用户变更信息用户记录12员工信息用户输入电脑的用户名、密码系统主菜单4, 数据存储数据存储名输入数据流输出数据流说明部分用户信息变更用户信息查询用户信息汽车信息变更汽车信息查询汽车信息线路信息变更线路信息查询线路信息车票信息变更车票信息查询车票信息预定车票信息车票信息预订记录购买车票信息车票信息购买记录5、处理过程处理过程名输入数据流输出数据流处理操作查询已知汽车/线路/车票信息所需信息购买/预定车票信息
10、+购票时间+座位号无更新变更信息再次查询信息用户权限认证用户名,密码,身份系统主菜单用户登录(三)E-R图负责人车票价格车票编车票包含汽车线路剩余票数出发日期已卖票数m汽车型号m座位数量到达城帀车牌号路程时间n管理系统管理员购买时间姓名口有无电视有无空调(四)关系模型:汽车编员工编号管理m密码线路编号管理身份编号 /站点编号起始城市站点I站点名称1, User 员工表(员工编号 Uno,姓名 UserName,密码 Password,身份 Useridentiey )2, Coach汽车信息表(汽车编号Cno,汽车型号 Ctype,车牌号Coachnumber,购买时间Ctime,座位数量 C
11、num有无电视 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,站点名称 CityNam
12、e)四、系统实现(一)数据库设计:2, Userinfo1, City站点表:员工表:杭度允许空列名Inglilt4LnolILt4Cnoint4int4SoldTi cleetllkt44Tdateda.tetim<Ttineda-tetime3,Ticket 车票信息表:4, Coach汽车信息表:7 1址列E数据类型1姬|允许空A-Cnoini4CtypeDYarchar20ZCoachnunbsrnvarchar20Ctimeetiihi8*CikuminiqCtych&jr10Ccondilionchar10Coachhvldarnvarchar20i*5, Purch
13、ase车票购买表6,Line线路表(二)主要界面及代码1,登录界面:登录操作代码:个人收集整理 勿做商业用途( 1) SqlHelper helper = new SqlHelper () ; SqlDataReader rdr;(2) if (string.lsNullOrEmpty (name)| string .IsNullOrEmpty(password) | |string .IsNullOrEmpty(identity )MessageBox。Show ("姓名,密码,身份框均不能为空! ”rdr = helper。 ExecuteReader( ” dbo.Select
14、Userinfo," CommandType.StoredProcedure); while ( rdr。 Read( )if (rdr”UserName”.ToString() = name & rdr "Password"。 ToString() = password &rdr”UserIdentity。 T”oString() = identity )this。 Hide() ;string iden = rdr "UserIdentity" .ToString();MainForm main = new MainForm
15、 (iden) ;main。 ShowDialog( ); rdr。 Close( ); return; MessageBox.Show( ”错误的姓名或密码或与身份不匹配,请重新输入 ! ”);rdr。 Close( );( 3)存储过程:ALTER PROCEDURE dbo。 SelectUserinfo/(parameter int = 5 , parameter datatype OUTPUT)/AS/ SET NOCOUNT ON /BEGINselect * from UserinfoEND2,系统主界面3,员工管理界面:修改/删除操作代码:(1) trySqlCommandBu
16、ilder scb = new SqlCommandBuilder (sd); sd.Update ( ds, ” a"ds。AcceptChanges();MessageBox.Show ("修改成功!");catch (Excepti on ex)MessageBox.Show (ex。Message。ToString ();trySqlCommandBuilder scb = new SqlCommandBuilder ( sd); int a = dataGridViewl.Curre ntRow .In de x;ds。Tables 0。Rowsa。De
17、lete ();sd。Update(ds, ” a"ds。AcceptChanges ();MessageBox.Show(”删除成功!”);catch (Excepti on ex)MessageBox。 Show(ex。 Message。ToString ();4,汽车信息管理界面:I占瀟加 生修改 占删除£握回搜索框肓车编寻:I宜车型号:车胡号:|n有无空调:负责人:肯无电视:添加蒂汽笙型导:车牌昌:20W年12300星期囚座伍数量:有无电视:有无空调:L_E1添加操作代码:(1 ) DAL。 CoachDAO coach = new Coach.DAL. Coach
18、DAO ();SqlHelper helper = new SqlHelper ();(2) if (string。 IsNullOrEmpty (coachnumber) | | string.lsNullOrEmpty (seatnumberl) | string。 IsNullOrEmpty(coachholder) MessageBox。Show(”车牌号,座位数量,负责人均不能为空!");elseif (coacho Add (coachtype,coachnumber,date2, seatnumber,ishavetv ishavecon,coachholder) Me
19、ssageBox.Show ("添加成功!");else个人收集整理 勿做商业用途MessageBox。Show("添加失败! ” ;( 3)实体类 CoachDAO 。 cs 中 :public bool Add(string coachtype,string coachnumber,DateTime date2, int seatnumber,string ishavetv,string ishavecon,string coachholder)bool flag = false; DataTable dt = new DataTable( ); string
20、 cmdText = ” dbo AddCoach"SqlParameter paras = new SqlParameternew SqlParameter(” coachtype,”coachtype) ,new SqIParameter (”coachnumber",coachnumber),new SqlParameter (” date2",date2),new SqlParameter(" seatnumber,” seatnumber),new SqlParameter(" ishavetv,” ishavetv), new Sq
21、lParameter( ” ishavecon,"ishavecon) , new SqlParameter(" coachholder" ,coachholder);int res = helper。 ExecuteNonQuery ( cmdText, paras, CommandType.StoredProcedure);if ( res 0)flag = true;return flag;(4 )存储过程 :ALTER PROCEDURE dbo.AddCoach coachtype n varchar(20), coachnumber nvarchar
22、(20),date2 datetime, seat nu mber int, ishavetv char (10), ishavecon char (10),coachholder nvarchar(20)/( parameter int = 5 ,parameter2 datatype OUTPUT)/AS/ SET NOCOUNT ON */BEGINinsert into Coach (Ctype,Coachnumber,Ctime,Cnum,Ctv,Ccondition , Coachholder) values ( coachtype, coachnumber,date2,seatn
23、umber, ishavetv, ishavecon,coachholder)END5,线路信息管理界面搜索操作代码:(1) SqlHelper helper = new SqlHelper ();SqlConnection conn = new SqlConnection (” Data Source=(local);lnitial Catalog=Coach ; Integrated Security=True )”SqlDataAd apter sd;/定义一个数据适配器DataSet ds;/定义一个数据集(2) string str1 = ” select Lno as编号,Ldep
24、art as 起始城市 丄arrival as 到达城市,convert(varchar(10),Ltime,108 ) as 路程时间 from Line where Lno = 牛 lineid + "";dataBind ( stri);(3) private void dataBind(string str)trysd = new SqlDataAdapter (str, conn);ds = new DataSet();sd.Fill ( ds,"a");dataGridViewl。DataSource = ds;dataGridViewl.D
25、ataMember = "a"catch (Excepti on ex)MessageBox。 Show ( ex.Message);6,车票信息管理界面:jaJ忝U删孫广盘遊回瞬梅越爾市:S T量挞嘶:I胁國eh号:I岀寒时间:i B对_回分车幕信皑蜩捕号;|右主輪号;| JK悅;|;啊玆隘和曲 出炭曰胡:冠月頒星朋西_+岀扯时同:刁前 石分7,车票信息管理中,选择汽车和路线界面:8,票务管理界面查询框XEg SI到色城b:南康 习日期: 冏肌年1月1日屋财 |3 匚善匚|确这预订确认购买返回查询操作代码:(1) DAL。PurchaseDAO purchase = ne
26、w Coach。DAL。PurchaseDAO ();SqlHelper helper = new SqlHelper ();(2) dataGridView1 。 DataSource = purchase。 Select1(departcity, arrivalcity, date2);(3) 实体类 PurchaseDAO.cs 中:public DataTable Select1 ( string departcity, string arrivalcity, DateTime date2)DataTable dt = new DataTable();string cmdText =
27、” dbo.SelectPurchase ”SqIParameter口paras = new SqlParameter new SqlParameter("departcity" ,departcity), new SqlParameter (" arrivalcity" ,arrivalcity), new SqlParameter (” date2date2);dt = helper。 ExecuteQuery(cmdText, paras, CommandType。 StoredProcedure) return dt;(4) 存储过程ALTER
28、PROCEDURE dbo。SelectPurchase departcity nvarchar(20), arrivalcity nvarchar (20),date2 datetime(parameter1 int = 5, parameter2 datatype OUTPUT)/AS/ SET NOCOUNT ON */BEGINselect Ldepart as 起始城市 ,Larrival as 到达城市, convert (varchar (10) ,Tdate, 120) as 出发日期, convert(varchar (10), Ttime, 108) as 出发时间,Cty
29、pe as 车型,Coachnumber as 车牌号,Ctv as 有无电视, Ccondition as 有无空调 ,Price as 票价 ,Cnum as 总票数 , LastTicket as 剩余票数 from Coach,Line, Ticket where Coach.Cno = Ticket。Cno and Lina Lno = Ticket。Lno and Ldepart = departcity and Larrival = arrivalcity and Tdate = date2END预订 /购买操作代码 :(1)tno = purchase.Yuding (depa
30、rt, arrival, coachnum);(2) 实体类 PurchaseDAO.cs 中public int Yuding(string depart, string arrival, string coachnum)int tno;DataTable dt = new DataTable();string cmdText = "dbo.SelectTno" ;SqlParameter paras = new SqlParameter new SqlParameter(” depart,”depart),new SqlParameter( "arrival
31、,a”rrival ),new SqlParameter("coachnum”,coachnum);dt = helper.ExecuteQuery ( cmdText, paras, CommandType。 StoredProcedure);tno = Convert.ToInt32(dt 。 Rows0"Tno" );return tno;(3) if (purchase.UpdateTicket (tno) & purchase.AddG(tno , datetime2,seat)MessageBox.Show ("购买成功!您购买的票为
32、:n” + depart + " -" + arrival + "n"+ ”出发时间 :”+ date + ” _"+ time + n” + ”车牌号: " + coachnum + "n" + "座位号: " + seat);elseMessageBox.Show ( "购买失败 !");( 4)public bool UpdateTicket ( int tno)bool flag = false;string cmdText = ” dbo.UpdateTicket;
33、"SqlParameter paras = new SqlParameternew SqlParameter( "tno" ,tno);int res = helper。 ExecuteNonQuery ( cmdText, paras, CommandType.StoredProcedure);if (res > 0)flag = true;个人收集整理 勿做商业用途 return flag ;(5 ) public bool AddG (int tno, DateTime datetime2, string seat)bool flag = false;
34、string cmdText = ” dbo AddPurchaseYG"SqlParameter paras = new SqlParameternew SqlParameter( ” tno,”tno) ,new SqlParameter("datetime2" ,datetime2) ,new SqlParameter("seat",seat);int res = helper.ExecuteNonQuery(cmdText, paras, CommandType.StoredProcedure); if (res 0)flag = tr
35、ue;return flag;(6) 存储过程ALTER PROCEDURE dbo.UpdateTickettno int/( parameterl int = 5 , parameter2 datatype OUTPUT)/AS/* SET NOCOUNT ON */BEGINupdate Ticket set SoldTicket = SoldTicket+1 , LastTicket = LastTicket 1 where Tno = tno END(7) ALTER PROCEDURE dbo.AddPurchasetno int,datetime1 datetime,seat n
36、varchar(20)/*(parameter1 int = 5, parameter datatype OUTPUT)*/AS/ SET NOCOUNT ON */BEGIN个人收集整理勿做商业用途in sert into Purchase(T no ,Ptime, ReserveORBuy, Seat) values ( tno, datetimel,'预订' seat)END,购买成功界面9,站点管理界面10购买成功!您画买的黨为: 上海南京出发时阿:20U*01-01车牌号:苏r 1F267座位号:E2确定数据库连接类代码:/ summaryIII SqlCE数据库保持
37、连接类/ </summary>public class SqlHelperpublic SqlConnection sqlconn = null;private SqlCommand cmd = null;private SqlDataReader sdr = null;/ <summary >/构造函数/ </summary>public SqlHelper ()stri ng conn Str = "Data Source= (local);I nitial Catalog=Coach ; In tegrated Security=True&q
38、uot; sqlc onn = n ew SqlC onnection (conn Str);private SqlConnection GetConn ()个人收集整理 勿做商业用途if (sqlconn.State = ConnectionState。 Closed)sqlconn。 Open( );return sqlconn;/ <summary>/ 构造函数/ </summary>/ <param name=” fSqlceConnString 数据”库>连接字符串 /parampublic SqlHelper ( String fSqlceCon
39、nString)string connStr = "Data Source= ( local); Initial Catalog=Coach ;Integrated Security=True" ; sqlconn = new SqlConnection (connStr) ;this 。 sqlconn = new SqlConnection (fSqlceConnString);if ( sqlconn.State = ConnectionState。 Closed)sqlconn.Open( );/ <summary III执行不返回结果的 SQL语句比如:ln
40、sert, Delete, Update/</summary III param name= ” cmdText要执行的 SQL 语句Iparam>III returns>返回影响记录的条数 /returnspublic int ExecuteNonQuery(String cmdText)SqlCommand cmd = this.sqlconn。CreateCommand();cmd.CommandText = cmdText ;cmd。 CommandType = CommandType。 Text;return (cmd.ExecuteNonQuery () ;III
41、 summaryIII执行带参数的增删改SQL语句或存储过程III <Isummary III vparam name= ” cmdText增删改 SQL 语句或存储过程 </param>III param name="ct" 命令类型 Iparam>III returns <Ireturns>public int ExecuteNonQuery( string cmdText, SqlParameter paras, CommandType ct)int res;using (cmd = new SqlCommand (cmdText,
42、 GetConn()个人收集整理 勿做商业用途cmd.CommandType = ct ; cmd。 Parameters。 AddRange ( paras); res = cmd.ExecuteNonQuery() ;return res;/ summary>III执行返回SqlCeDataReader结果集的SQL语句。比如:Select/ /summaryIII <param name="cmdText要执行的 SQL语句 /paramIII returns 返回的 SqlCeDataReader<Ireturns public SqlDataReader
43、ExecuteReader( string cmdText, CommandType ct)SqlDataReader reader;trycmd = new SqlCommand(cmdText, GetConn(); cmd.CommandType = ct ; reader = cmd。 ExecuteReader(CommandBehavior 。 CloseConnection); catch ( Exception e2)throw new Exception (e2.Message。 ToString() );return reader;III <summary>III 执行带参数的查询 SQL 语句或存储过程III Isummary>III <param name=&quo
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年广告投放的策略与趋势试题及答案
- 2024年考试前准备试题及答案分享
- 2024年陪诊师考试实战演练试题及答案
- 如何备考2024年仓储管理试题及答案
- 2024监理工程师考试知识要点试题及答案
- 2024人力资源管理师应试心得试题及答案
- 2024年学术动态ESG商业分析师试题及答案
- 黑龙江林业职业技术学院《装备产品设计实施》2023-2024学年第二学期期末试卷
- 黑龙江省佳木斯市重点中学2025年高三下学期第三次阶段检测试题英语试题含解析
- 黑龙江省哈尔滨十九中2025年高考英语试题(英语试题)预测押题密卷I卷(全国1卷)含解析
- 2025年江苏南通职业大学招聘事业编制人员34人历年高频重点提升(共500题)附带答案详解
- 食为天:2024中国食品饮料行业白皮书
- 安宁疗护护理个案课件
- 《年产5万吨异丙醇合成工段设计(任务书+开题报告)》1300字
- 2024年商务考察团组织合同
- 噎膈中医护理查房
- 寺庙祈福活动方案(共6篇)
- 2024-2030年中国税务师事务所行业发展战略及管理模式分析报告
- 梅尼埃病的护理查房
- 精酿啤酒厂合作协议书范文
- 劳务分包的工程施工组织设计方案
评论
0/150
提交评论