




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 淮 海 工 学 院 计算机工程学院课程设计报告(bogo)设计(shj)名称: 数据库原理(yunl)及应用设计课程设计 姓 名: 学 号: 专业班级: 系 (院): 设计时间: 设计地点: 成绩:指导教师评语: 签名: 年 月 日课程设计报告 第 PAGE 27 页,共 NUMPAGES 27 页一、概述(i sh)1、项目(xingm)背景:随着市场经济的不断飞速发展,交通道路环境的不断改善,人们的出行次数不断增多,人口流动频繁,数量不断加大,车站信息量迅猛增长,车站售票管理系统在人们的日常生活中发挥着越来越重要(zhngyo)的作用。本系统实现了线路信息,汽车信息,票务信息的查询和管理
2、,满足人们的需求。2、编写目的:掌握数据库设计原理及相关软件的使用。实现方便、快速售票;是用户准确了解售票情况,提供多种查询和统计功能;实现系统的安全性设置,使系统本身具有一定的维护功能。3、软件定义:车站售票管理系统,主要用于车站日常的票务处理。4、开发环境:Visual Studio2008,SQL SERVER2000二、需求分析 功能模块图1,员工管理模块:员工有两种身份,售票员和系统管理员。系统管理员可以进行系统用户的添加,密码的修改操作,汽车,线路,车票信息的更新等,售票员可以查询以上信息和购买车票等。2,线路信息管理模块:系统管理员可以在线路信息管理模块对车站线路信息进行管理。管
3、理员首先建立线路信息数据库,输入原始的线路信息,当有新的线路需要添加或者需要对已有的线路信息进行修改,删除的时候,管理员就可以进行相应的操作。管理员也可以通过本模块查询到所有需要查询的线路的详细信息。3,汽车信息管理模块:系统管理员可以在汽车信息管理模块实现对汽车信息的管理。管理员首先应该建立汽车信息数据库,输入原始的数据信息,当有新的汽车信息的时候或者管理员需要修改某个汽车的相关信息以及想要删除某个汽车信息的时候,就可以完成相应的操作。管理员也可以在整个数据库中查询相关汽车信息。4,车票(ch pio)信息管理模块:系统管理员可以在车票管理模块实现(shxin)对车票信息的管理。管理员根据相
4、应的汽车信息和线路信息来设置相应的车票详细信息。管理员还可以对某条线路的车票信息进行修改,删除和查询操作。5,车票订购信息(xnx)模块 用户可以通过查询时间,线路和汽车信息,来确定自己要买什么时间,什么路线,什么型号的汽车的车票,并形成表单。 程序分为登陆界面,主界面,线路信息管理界面,汽车信息管理界面,车票信息管理界面,票务信息管理界面,员工管理界面这几个主体界面。使用时应先知道管理员或员工帐号和密码,登陆进入系统主菜单界面,里面包括线路信息,汽车信息,车票信息,票务信息,帮助,退出程序菜单选项。三、系统设计 (一)数据流图: 顶层数据流图 1层车票(ch pio)数据流图(二)数据(sh
5、j)字典:数据项编号数据项名数据项含义说明数据类型长度与其他数据项的关系是否可以为空1Uno用户编号整型4User表主键不2UserName姓名nvarchar20不3Password密码nvarchar20不4UserIdentiey身份nvarchar20不5Cno汽车编号整型4Coach表主键不6Coachnumber车牌号nvarchar20不7Ctype汽车型号nvarchar208Ctime购买时间datetime89Cnum座位数量整型4不10Ctv有无电视char1011Ccondition有无空调char1012Coachholder负责人nvarchar20不13Lno线路
6、编号整型4Line表主键不14Ldepart起始城市nvarchar20不15Larrival到达城市nvarchar20不16Ltime路程时间datetime817Tno车票编号整型4Ticket表主键不18Price车票价格整型4不19SoldTicket已卖票数整型4不20LastTicket剩余票数整型4不21Tdate出发日期datetime8不22Ttime出发时间datetime8不23Ptime购买时间datetime824Seat座位号整型4不25ReserveORBuy预定或购买char10不26Cityno站点编号整型4City表主键不27CityName站点名称nva
7、rchar20不数据结构(sh j ji u)编号数据结构名属 性1员工员工编号,姓名,密码,身份2汽车汽车编号,汽车型号,车牌号,购买时间,座位数量,有无电视,有无空调,负责人3线路线路编号,起始城市,到达城市,路程时间4车票车票编号,线路编号,汽车编号,车票价格,已卖票数,剩余票数,出发日期,出发时间5购票车票编号,购买日期,预定或购买,座位号6站点站点编号,站点名称数据流编号数据流名输 入输 出1变更汽车信息变更信息汽车记录2查询汽车信息汽车编号/汽车型号/车牌号/有无电视/有无空调/负责人汽车记录3变更站点信息变更信息站点记录4变更线路信息变更信息线路记录5查询线路信息线路编号/起始城
8、市,到达城市线路记录6变更车票信息变更信息车票记录7查询车票信息车票编号/起始城市,到达城市/汽车型号/出发日期,出发时间车票记录8预定车票车票编号,购买日期,预定或购买预订记录9购买车票车票编号,购买日期,预定或购买购买记录10查询购买情况车票编号/起始城市,到达城市/汽车型号购买记录11更改用户变更信息用户记录12员工信息用户输入电脑的用户名、密码系统主菜单数据(shj)存储数据存储名输入数据流输出数据流说 明 部 分用户信息变更用户信息查询用户信息汽车信息变更汽车信息查询汽车信息线路信息变更线路信息查询线路信息车票信息变更车票信息查询车票信息预定车票信息车票信息预订记录购买车票信息车票信
9、息购买记录处理过程处理过程名输入数据流输出数据流处理操作查询已知汽车/线路/车票信息所需信息购买/预定车票信息+购票时间+座位号无更新变更信息再次查询信息用户权限认证用户名,密码,身份系统主菜单用户登录(三)E-R图(四)关系(gun x)模型:1,User员工(yungng)表(员工(yungng)编号Uno,姓名UserName,密码Password,身份UserIdentiey)2,Coach汽车信息表(汽车编号Cno,汽车型号Ctype,车牌号Coachnumber,购买时间Ctime,座位数量Cnum,有无电视Ctv,有无空调Ccondition,负责人Coachholder)3,L
10、ine线路信息表(线路编号Lno,起始城市Ldepart,到达城市Larrival,路程时间Ltime)4,Ticket车票信息表(车票编号Tno,线路编号Lno,汽车编号Cno,车票价格Price,已卖票数SoldTicket,剩余票数LastTicket,出发日期Tdate,出发时间Ttime)5,Purchase车票购买表(车票编号Tno,购买日期Ptime,预定或购买ReserveORBuy,座位号Seat)6,City站点表(站点编号Cityno,站点名称CityName)四、系统实现(一)数据库设计:1,City站点表: 2,Userinfo员工表: 3,Ticket车票信息表:
11、4,Coach汽车信息表: 5,Purchase车票(ch pio)购买表: 6,Line线路(xinl)表 : (二)主要(zhyo)界面及代码1,登录界面: 登录(dn l)操作代码:protected void btn_dl_Click(object sender, EventArgs e) if (string.IsNullOrEmpty(tbx_yhm.Text.Trim() throw new Exception(用户名不能为空); if (string.IsNullOrEmpty(tbx_pwd.Text.Trim() throw new Exception(密码(m m)不能为
12、空); checkYZM(); Struct_LoginContext loginContext = new Struct_LoginContext(Session.SessionID, Request.UserHostAddress); switch (ddlt_lx.SelectedValue) case 1: SessionUserState = new UserState(tbx_yhm.Text, tbx_pwd.Text, ref loginContext); Response.Redirect(Manager/Default.aspx#posts); break; case 2:
13、 SessionUserState = new UserState(tbx_yhm.Text, tbx_pwd.Text, ref loginContext); Response.Redirect(Admin/Default.aspx#posts); break; default: break; (3)存储(cn ch)过程:procedure UserLogin( loginName Userdl.User_Name%type, loginPwd Userdl.User_Pwd%type, userID out Userdl.Userid%type, p_errorCode out numb
14、er)asbeginp_errorCode:=0; select count(*) into p_errorCode from Userdl where Userdl.User_Name=loginName and User_pwd=loginPwd; if p_errorCode= 0 then p_errorCode:=1; return; end if; p_errorCode:=0; select Userdl.Userid into userID from Userdl where Userdl.User_Name=loginName and User_pwd=loginPwd; e
15、nd UserLogin;2,系统(xtng)主界面3,汽车(qch)信息管理界面:添加(tin ji)操作代码: protected void dlt_qcxx_DeleteCommand(object source, DataListCommandEventArgs e)int id = Convert.ToInt32(dlt_qcxx.DataKeyse.Item.ItemIndex.ToString(); gpgn.SCQCXX(id);Response.Write(alert(删除(shnch)成功!);document.location=document.location;); b
16、ind(); 存储(cn ch)过程: procedure QCXX( p_cur out cur)asbeginopen p_cur for select coach.c_id id, coach.c_number cph,coach.c_time gmsj,coach.c_seatsnum zws,coach.c_holder fzr from coach;end QCXX;-功能(gngnng):更新汽车信息procedure GXQCXX( p_id coach.c_id%type, p_cph coach.c_number%type, p_gmsj coach.c_time%type
17、, p_zws coach.c_seatsnum%type, p_fzr coach.c_holder%type)asbeginupdate coach set c_number=p_cph,c_time=p_gmsj,c_seatsnum=p_zws,c_holder=p_fzr where c_id=p_id;commit;end GXQCXX;-删除汽车信息procedure SCQCXX( p_id coach.c_id%type)asbegin delete from coach where coach.c_id=p_id; commit;end SCQCXX;-添加(tin ji)
18、汽车信息procedure TJQCXX( p_cph coach.c_number%type, p_gmsj coach.c_time%type, p_zws coach.c_seatsnum%type, p_fzr coach.c_holder%type)asbegin insert into coach(c_id, c_type, c_number,c_time,c_seatsnum,c_tv,c_air_condition,c_holder) values(SEQ_COACH.NEXTVAL,1,p_cph,p_gmsj,p_zws,1,1,p_fzr); commit;end TJQ
19、CXX;5,线路(xinl)信息管理界面:搜索操作(cozu)代码: protected void dlt_xlxx_DeleteCommand(object source, DataListCommandEventArgs e) int id = Convert.ToInt32(dlt_xlxx.DataKeyse.Item.ItemIndex.ToString(); gpgn.SCLXXX(id); Response.Write(alert(删除成功!);document.location=document.location;); bind(); 6,车票(ch pio)信息管理界面:7,
20、车票(ch pio)信息管理中,选择汽车和路线界面:8,票务管理(gunl)界面 : 查询操作(cozu)代码: /查询(chxn)车票信息 protected DataSet CXCPXX() DBClass db = new DBClass(); try OracleParameter paras = new OracleParameter(p_cur,OracleType.Cursor) ; paras0.Direction = ParameterDirection.Output; DataSet ds = db.RunProcedure(PACK_PWGL.CXCPXX, paras,
21、 tb); return ds; finally db.Close(); 存储(cn ch)过程procedure PW_Select( p_scity city.city_id%type, p_endcity city.city_id%type, p_pageSize number, p_pageIndex number, p_cur out cur)asp_minRowNum number;p_maxRowNum number;begin p_minRowNum := p_pageIndex * p_pageSize;p_maxRowNum := (p_pageIndex + 1) * p
22、_pageSize; open p_cur for select * from ( select t1.t_datetime ccsj,t1.t_price price,t1.t_lasttickets syps,c1.city_name city1,c2.city_name city2,t1.t_id,coach.c_number,rownum rn from (select * from tickets where tickets.t_l_id in (select t.l_id from line t where t.l_depart=p_scity and t.l_arrival=p_
23、endcity) - and Sysdatep_minRowNum and rn 0)foreach (XmlElement _el in _node)if (_el.Attributeskey.InnerXml.ToLower() = sKey.ToLower()strReturn = _el.Attributesvalue.Value;break;catch (Exception exp)throw(exp); return DecodeBase64(strReturn);public static void SynData()lock(typeof(DBClass)connectionS
24、tring = GetConStr(connectionstring);public DBClass()tx=null;isCommit=false;Connection = new OracleConnection(connectionString);Connection.Open();public DBClass(bool isUseTransaction)isCommit=false;Connection = new OracleConnection(connectionString);Connection.Open();if(isUseTransaction)tx=Connection
25、.BeginTransaction();elsetx=null;private OracleCommand BuildQueryCommand(string storedProcName,IDataParameter parameters)OracleCommand command;if(tx=null)command = new OracleCommand(storedProcName,Connection);/*8 NO.4elsecommand = new OracleCommand(storedProcName,Connection,tx);/command.CommandTimeou
26、t=60;/ -1 NO.8command.CommandType = CommandType.StoredProcedure;foreach (OracleParameter parameter in parameters)/*2 NO.7command.Parameters.Add(parameter);return command;private OracleCommand BuildIntCommand(string storedProcName,IDataParameter parameters)OracleCommand command = BuildQueryCommand(st
27、oredProcName,parameters);return command; public void RunProcedure(string storedProcName,IDataParameter parameters,out int rowsAffected)tryif(tx!=null)isCommit=true;/int result;OracleCommand command = BuildIntCommand(storedProcName,parameters);rowsAffected = command.ExecuteNonQuery();/result = (int)c
28、ommand.ParametersReturnValue.Value;/return result;catch(Exception ex)isCommit=false;throw(ex);public OracleDataReader RunProcedure(string storedProcName, IDataParameter parameters )tryif(tx!=null)isCommit=true;OracleDataReader returnReader;/*2 NO.5OracleCommand command = BuildQueryCommand( storedPro
29、cName, parameters );returnReader = command.ExecuteReader();return returnReader;catch(Exception ex)isCommit=false;throw(ex);public DataSet RunProcedure(string storedProcName, IDataParameter parameters, string tableName )tryif(tx!=null)isCommit=true;DataSet dataSet = new DataSet();OracleDataAdapter sq
30、lDA = new OracleDataAdapter();/*4 NO.6sqlDA.SelectCommand = BuildQueryCommand( storedProcName, parameters );sqlDA.Fill( dataSet, tableName );return dataSet;catch(Exception ex)isCommit=false;throw(ex);public void RunProcedure(string storedProcName, IDataParameter parameters, DataSet dataSet, string t
31、ableName )tryif(tx!=null)isCommit=true;OracleDataAdapter sqlDA = new OracleDataAdapter();sqlDA.SelectCommand = BuildIntCommand( storedProcName, parameters );sqlDA.Fill( dataSet, tableName );catch(Exception ex)isCommit=false;throw(ex);public void EnableCommit()if(tx=null)string exMessage=只用启用(qyng)pu
32、blic DBClass(string newConnectionString,bool isUseTransaction)构造函数时该方法才有效!;ApplicationException ex=new ApplicationException(exMessage);throw ex;isCommit=true;public void DisableCommit()if(tx=null)string exMessage=只用启用(qyng)public DBClass(string newConnectionString,bool isUseTransaction) 构造函数时该方法才有效!;ApplicationException ex=new ApplicationException(exMessage);throw ex;isCommit=false;public void Close()if(isCommit)tx.Commit();Connection.Close();五、课程设计心得体会 这次(zh c)课程设计使我巩固了数据库和C#的知识,通过实践,我学到了很
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 买房子贷款合同样本
- 农村玉米地收购合同样本
- 修建项目厂房合同标准文本
- 农场林地出租合同标准文本
- 中介与卖房合同样本
- 个人工装合同样本
- 出售闲置书桌合同样本
- 个人退股协议合同标准文本
- 冷冻产品购销合同标准文本
- 冰箱设备转让合同标准文本
- 4B Chapter 4 A visit to Shanghai 课件(新思维小学英语)
- 人教版八年级下册英语作业设计案例
- Starter Unit2 单词英汉互译 2024-2025学年人教版英语七年级上册
- 公司道德和商业行为准则
- 投资资金合同协议书
- YDT 4492-2023工业互联网 时间敏感网络技术要求
- 【年产1000吨富硒沙棘果汁工艺生产设计16000字(论文)】
- 纪念中国第一颗原子弹爆炸50周年
- 职业素养提升第2版(大学生职业素养指导课程)全套教学课件
- 中考数学专题复习《代数推理题》知识点梳理及典例讲解课件
- 第十六章-中国文化的基本精神
评论
0/150
提交评论