公交车管理系统的实现与设计—免费计算机毕业设计论文内容摘要:
Time nvarchar 50 是 否 起始时间 EndTime nvarchar 50 是 否 中止时间 StratPlace nvarchar 50 是 否 起点 Remark nvarchar 50 是 否 备注 CostTime nvarchar 50 是 否 用时 InputTime datetime 8 是 否 输入时间 存储过程 在该公交车管理系统 的在数据的查询、添加和删除等操作上主要采用了存储过 程。 存储过程是编译好了的 SQL 语句。 它类似于函数的使用,可以直接 通过参数调用存储过程 ,所以效率 比较 高。 存储过程是由一组为了完成特定功能的 SQL 语句集,经过编译和优化后存储在数据库服务器中,用户通过指定存储过程的名字并给出参数 (如果该存储过程带有参数 )来执行它 [2]。 存储过程的 能力大大增强了 SQL 语言的功能和灵活性。 (1)允许标准组件式编程。 在存储过程被创建以后,可以在程序中被多次调用,而不必重新编写该存储过程的 SQL 语句。 (2)实现较快的执行速度。 因为存储过程是预编译的,在首次运行前, 查询优化器 对其进行分析 、优化 ,并给出了 最终被存在系统中的执行计划 [2]。 (3)减少网络流量。 在调用存储过程时,网络中传送的只是该调用语句,而不是多条 SQL 语句,从而大大减少了网络流量。 第 8 页 共 20 页 (4)作为一种安全机制来 充分 利用。 系统管理员通过对执行某一存储过程的权限进行限制,从而 能够实现对相应的数据访问权限制,避免非授权用户对数据的访问,保证数据安全 [2]。 在创建存储过程时,需要确定存储过程的三个组成部分:。 ,包括调用其他存储过程的语句。 ,以指明调用是成功还是失败。 下面给出在 该 系统中使用到的部分存储过程: 实现对满足 ID 号是 CarLineID 的汽车线路数据的删除操作。 create proc prc_deleteCarLine @CarLineID int as delete T_Car_Line where ID=@CarLineID if @@rowcount0 return 0 else return 1 GO 实现查询所有汽车信息的存储过程。 create proc spr_carall as select ID ,CarNum as 车牌号 ,CarColor as 颜色 ,SitNum as 座位数 ,CarType as 类型,AirCondi as 是否空调车 ,Company as 车品牌 ,Remark as 备 注 from t_car GO 6 详细设计 根据已有的需求分析和总体设计,在此基础上进行系统的详细设计和实现。 为此,建立了一个 C.NET 项目。 登录模块 输入:用户名和密码。 处理: (1)用户登录窗体启动。 (2)输入用户名和密码。 第 9 页 共 20 页 (3)检索数据库中数据,是否有相应的用户名和密码。 (4)如果用户名和密码为空,或者错误,进行提示。 (5)如果输入的用户名和密码正确,则允许该用户进入系统。 (6)进入主控制台。 输出:主控制台。 用户登录模块的窗体设计,如图 4 所示。 private void button1_Click(object sender, e) { DataAccess myAcc=new DataAccess()。 if(((), ())==1) { =false。 Main newMain=new Main(())。 ()。 } else if(((),) == 0) (没有该用户 !)。 else { (登 录 失败 )。 } } 图 4 用户登录窗体 第 10 页 共 20 页 private void button1_Click()鼠标事件用于 实现在输入用户名和密码后,进入系统主控制界面的方法。 DataAccess 类 是自定义的用于实现数据库访问的类。 该方法中判断语句里调用了该类所声明的对象 myAcc 的方法 userlogin(),该方法的具体实现代码如下所示: public int userlogin(string username,string userpass) { Database myDB=new Database()。 SqlParameter[] para={ (@username,50,username), (@userPass,50,userpass) }。 return (spr_uerlogin,para)。 } 该段代码展示了上文中所提到的存储过程的具体使用。 主操作界面模块 主控制平台的窗体设计,如图 5 所示。 从界面上直观的向用户表明了在该系统下可以进行的一系列操作,包括新用户的注册,车辆信息的管理,司机信息的管理,线路信息的管理和车辆线路分配图 5 主控制台界面 第 11 页 共 20 页 的管理。 当用户选择相应的功能进行操作时,触发该按钮事件,则可以进入相应的功能界面进行相应的操作。 系统用户注册模块 添加用户子模块负责系统的安全性,在该模块种只能增加新用户而不能修改、删除用户,这样是为了加强系统的安全性,保证了系统的恶意操作或误删除等情况出现。 (1)添加新用户功能的实现,并且设置用户的初始密码。 (2)功能模块实现的界面效果如图 6 所示。 //用户名检测机制,保证用户名的唯一性。 private void button2_Click(object sender, e) { if(()==) { (用户名不能为空 )。 } else if(checkuser()==1) (该用户名不存在,可以注册。 )。 else { (该用户名存在,请重新录入新的用户名。 )。 } 图 6 添加用户子模块窗体效果 第 12 页 共 20 页 } 将新用户的信息写入数据库。 通过自定义对象 myAccc 访问数据库,主要是由该对象调用存储过程来实现。 private void button1_Click(object sender, e) { //checkuser()是自定义的方法,实现对用户名的检查判断。 if(checkuser()==0) { (该用户名存在,请重新录入新的用户名。 )。 return。 } 自定义的 regcheck()方法,根据该方法返回的值对不同的情况进行处理。 if(regcheck()==1) { DataAccess myAcc=new DataAccess()。 int li_check=((), (), (), (), () )。 if(li_check==1) { (注册成功 )。 } } } 车辆信息管理模块 该模块实现对车辆信息如、车牌号、颜色、座位数、是否无人售票和车辆品牌信息的录入和删除操作。 该界面窗体效果如图 7 所示。 第 13 页 共 20 页 该段代码在用户点击“所有”按时,触发一个事件,通过调用 allcarinfo()方法来返回数据库中的数据, 然后使用 dataGrid 控件将数据显示出来。 private void button2_Click(object sender, e) { DataAccess myAcc = new DataAccess()。 DataSet mySet = new DataSet()。 mySet=()。 = [0]。 } 该 段代码实现用户增加车辆信息后完成保存功能的实现。 其中针对某些可能出错的地方做出了人性化的处理,以便用户更正和做出相应的处理。 司机信息管理模块 通过该窗体,输入司机姓名、身份证、 编号和驾驶编号等等司机的个人资料,实现添加司机信息的功能 ,该功能模块窗体的效果如图 8 所示。 图 7 车辆信息管理窗体效果 第 14 页 共 20 页 该事件实现将合法的司机信息写入数据库。 同样通过自定义类的对象来访问数据库,并通过调用存储过程实现完成操作。 private void button1_Click(object sender, e) { if(AddDirverscheck()==1) { DataAccess myAcc=new DataAccess()。 int li_check= ((), (), (), (), (), (), () )。 if(li_check==1) { string ls_D=。 (操作成功 )。 int li_counts=。 for(int i=0。 ili_counts。 i++) { if([i].GetType().ToString()==) [i].Text=。 } } } } 图 8 司机信息添加模块 第 15 页 共 20 页 线路信息管理 模块 ,主要输入的信息包 括线路编号、线路名称、发车时间和收车时间等 ,具体的窗体效果见下页图 9 所示。 CheckReg()是一个用于实现检查用户注册信息的私有方法,该方法通过嵌入SQL 语句来检索数据库信息,以核对用户信息的有效性。 private int CheckReg() { DataSet mySet=new DataSet()。 string ls_query= select * from t_lineInfo where LineName=39。 + ()+39。 or LineCode=39。 + ()+39。 Database myDB=new Database()。 mySet=(ls_query)。 if([0].==0) return 0。 else return 1。 } 车辆分配线路管理模块 图 9 线路维护界面 第 16 页 共 20 页 公交车最终 要与固定的某条线路相匹配,把具体的每一辆车分配到设 置好的线路上。 这样,汽车,司机,线路才能完成有机的联系,形成一个整体。 对于管理者来说,能够通过该系统所提供的功能从宏观上把握车辆的运行情况 , 如图10 所示。 鼠标单击“确定”事件时,将进行的操作。 首先根据整型变量 li_LineID 和li_CarID 的值来判断是否选择了车辆或者某条线路;若没有,则弹出一消息窗口,给出提示信息。 private void button1_Click(object sender, e) { if(li_LineID==0 || li_CarID==0 ){ (车辆或者线路没有选择,请选择。 )。 return。 } DataAccess myAcc=new DataAccess()。 if((li_CarID)==0){ (该汽车已经分配线路 )。 } else{ int li_flag=0。 图 10 车辆分配线路管理窗体效果 第 17 页 共 20 页 if(==true) li_flag=1。 else li_flag=0。 if((li_CarID,li_LineID,li_flag)0) (保存成功 !)。 } } 7 系统维护和改进 运行维护 经过测试,该系统运行稳定,在使用和维护中应该注意以下几个问题: (1)定期备份数据库,以免丢失数据。 (2)定期清理数据库中的无效数据,以提高运行效率。 (3)对软件及运行环境进行日常维护。 系统改进和提高 本系统在信息表描述上,以及其 它各个地方还有不完备的地方,通用性不强,另外对于用户权限上的设置没有实现更具体的功能实施,没有实现查询资料导出的处理。 下一部的工作将完善本系统,在各个界面上进一步添加所需要的字段。 在熟悉系统模块的设计后,可以根据实际需求的变化,扩充系统的功能。 结 论 本文。公交车管理系统的实现与设计—免费计算机毕业设计论文
相关推荐
干涉内务,保守秘密 ) ● (形象观念 、互惠观念 、协调观念 、公众观念、 传播观念 ) ● ( ABC)。 A.媒介研究 B.民意测验 C.抽样调查 ● :( ABDE)。 A.咨询建议,决策参谋 B.发现问题,加强管理 D.防患未然,危机处理 E. 创造效益,寻求发展 ● ,应该包括的内容有 (实事求是、公正无私、勤奋努力、乐于助人、光明磊落) ● (伦理学、管理学、社会学、营销学
是有关组织的全方位的信息,如产品形象信息、组织形象信息;组织内部公众的信息,组织外部公众的信息;以及诸如国内外政治、经济 、文化、科技甚至军事信息,并通过选择和梳理,及时将组织所需要的信息反馈给组织有关部门和决策者,从而不断增强组织对环境的适应力,增强对组织在社会中的竞争力。 协调组织系统 公共关系之所以能增强组织的竞争能力,还由于它作为组织的一个子系统,发挥着对内部其它子系统的组织功能。
小说名作《多收了三五斗》、《夜》。 朱自清,字佩弦,号秋实,江苏扬州人,现代著名散文学、学者、爱国的民主战士。 他的散文主要有《春》、《匆匆》、《背影》、《绿》、《荷塘月色》、《威尼斯》等。 老舍,原名舒庆春,字舍予,北京满人,现代著名小说家,语言艺术大师,被誉为“文艺队伍中的劳动模范”。 代表作为《骆驼祥子》。 另外有长篇小说《四世同堂》、《老张的哲学》,剧本《茶馆》、《龙须沟》。 冰心
调戏酒姑娘了。 ③ ,是江南雪夜,更深人静后的景况。 ④ 又到了第二天的早晨,和狗一样喜欢弄雪的村 童来报告村景了。 诗人的诗句,也许不尽是在江南所写,而做这几句诗的诗人,也许不尽是江南人,但假了这几句诗来描写江南的雪景,岂不直截了当,比我这一枝愚劣的笔所写的散文更美丽得多。 窗外的天气晴朗得像晚秋一样;晴空的高爽,日光的洋溢,引诱得使你在房间里坐不住,空言不如实践,这一种无聊的杂文
not going to have a date again for the next eighteen years? Rachel: (starting to cry) I don‟t know. 有一点值得欣慰 ,至少我们不引人注目 那么,准备说出来了吗 ? 没有 那现在呢 ? 不 好吧 , 那我们谈谈其他的事吧 孩子的父亲是谁 ? 你瞧,亲爱的,你知道吗。 我甚至都没告诉他,
料、紧固件、涂装材料等应附 有产品的质量合格证明文件、中文标志及检验报告,各项指标应符合现行国家产品标准和设计要求。 2) 进场的原材料,除有出场质量证明书外,还应按合同要求和有关现行标准在甲方、监理的见证下,进行现场见证抽样、送样、检验和验收,做好记录,并向甲方和监理提供检验报告。 3) 在加工过程中,如发现原材料有缺陷,必须经检查人员、主管技术人员研究处理。 4)