公交车管理系统的实现与设计-毕业设计论文内容摘要:
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)对软件及运行环境进行日常维护。 系统改进和提高 本系统在信息表描述上,以及其 它各个地方还有不完备的地方,通用性不强,另外对于用户权限上的设置没有实现更具体的功能实施,没有实现查询资料导出的处理。 下一部的工作将完善本系统,在各个界面上进一步添加所需要的字段。 在熟悉系统模块的设计后,可以根据实际需求的变化,扩充系统的功能。 结 论 本文主要研究了公交车管理系统的设计与实现。 实现公交车公司在对车辆和人员以及线路的统一管理的应用型 设计。 通过几个月的努力,公交车管理系统功能基本。公交车管理系统的实现与设计-毕业设计论文
相关推荐
中应用最广的标准 总线。 它包括了按位串行传输率和机械方面的规定。 适合短距离或带调制解调器的通讯场合。 它不仅已经被内置于每台 PC,而且已被内置于从微控制器到主机的多种类型的电脑和与它们连接的设备。 你也可以将 RS232用在任何类型得计算机之间的简单连接中,它是一个被广泛使用的接口之一。 123U 6 A7 4 L S 1 2 545 6U 6 B7 4 L S 1 2 58910U 6
系统设计说明书 长期 数据库设计说明书 长期 程序流程图 长期 流程设计说明书 长期 数据采集汇集、数据结 构说明、程序(接口)设计 长期 设计修改 长期 专利申请材料 长期 软硬件设备或原材料开箱资料 长期 设备或程序调试记录、运行报告 短期 电缆光缆测试数据 短期 开发进度月报 短期 项目开发总结报告 长期 测试 与试运行 测试计划、方案(单体测试) 短期 测试设计说明(组合测试) 短期
B 拘役 C吊销 “ 卫生许可证 ” 1公共场所经营单位卫生制度不健全或从业人员未经卫生知识培训上岗者,给予 ( A ) 处罚: A 警告 B 罚款 C 停业整顿 D 吊销卫生许可证 13 公共场所经营单位不按时进行健康检查者卫生制度不健全或从业人员未经卫生知识培训上岗者给予 ( A ) 处罚: A 警告 B 罚款 C 停业整顿 D 吊销卫 生许可证 13
单片机采用精简指令使其执行效率大为提高。 PIC 系DATA CLK STR 列 8 位 CMOS 单片机具有独特的 RISC 结构,数据总线和指令总线分离的哈佛总线( Harvard)结构,使指令具有单字长的特性,且允许指令码的位数可多于 8位的数据位数,这与传统的采用 CISC 结构的 8 位单片机相比,可以达到 2:1 的代码压缩,速度提高 4 倍。 PIC 有优越开发环境。 PIC
) 下列哪个特征不是第三部门具有 A、民间性 B、组织性 C、营利性 D、自治性 市场失灵指的是 A、 市场不能有效提供公共物品和准公共物品 B、市场不能有效提供公共物品和准私人物品 C、市场不能有效提供私人物品和准公共物品 D、市场不能进行资源有效配置 社团的登记机关是 A、国务院民政部门和县级以上地 方各级人民政府民政部门 B、国务院民政部门和县级以上地方各级人民政府有关部门 C
开发平台: Windous XP 开发语言: C++ JSP JavaBean SQL Sever 硬件环境:计算机 第二章 数据库设计 用户信息: 名字:用户姓名 别名: name 内容描述:用户注册 IC 卡时,所提供的基本信息,存储于数据库中 数据来源:用户提供 数据去向:系统数据库 补充信息:类型: string 默认值: null 限制: !null 名字:年龄 别名: age