公交线路查询算法与实现_第1页
公交线路查询算法与实现_第2页
公交线路查询算法与实现_第3页
公交线路查询算法与实现_第4页
公交线路查询算法与实现_第5页
已阅读5页,还剩60页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、公交线路查询算法与实现,上章回顾,数据实体层(Model)的实现 表示层(Web)的实现: 线路信息管理页面设计 线路信息管理页面代码 业务逻辑层(BLL)的实现 数据操作-存储过程实现 数据访问层(OracleDAL)的实现 数据访问工厂层(DALFactory)的实现 数据访问接口层(IDAL)的实现,本章目标,查询算法 : 理解算法思路 了解oracle包、游标、临时表、用户函数、存储过程的概念 理解算法的实现 查询实现 : 理解直达线路查询概念,实现方法 理解一次转乘查询概念,实现方法 理解车次查询概念,实现方法 理解站点查询概念,实现方法,查询算法,算法思路 直达 一次换乘,算法实现

2、 -包,包(package)由两部分组成: 包说明(规范、包头) 包体(主体) 函数(function)以及过程(procedure)单独运行与将其放入包(package)中有何不同 包的作用,算法实现 -包,包头创建语法格式:,算法实现 -包,包头语法格式说明: Schema:指定将要创建的包所属用户方案。 Package_name : 将要创建的包的名称。 pl/sql_package_spec:变量、常量及数据类型定义;游标定义;函数、过程定义和参数列表返回类型。,算法实现 -包,在定义包头时,要遵循以下规则: 包元素的位置可以任意安排。然而,在声明部分,对象必须在引用前进行声明。 包头

3、可以不对任何类型的元素进行说明。例如,包头可以只带过程和函数说明语句,而不声明任何异常和类型。 对过程和函数的任何声明都必须只对子程序和其参数(如果有的话)进行描述,但不带任何代码的说明,实现代码则只能在包体中。它不同于块声明,在块声明中,过程或函数的代码同时出现在其声明部分。,算法实现 -包,包体创建语法格式:,算法实现 -包,包体语法格式说明 : Schema:指定将要创建的包所属用户方案。 pl/sql_package_body: 标、函数、过程的具体定义。,算法实现 -包,包头部分的代码实现:,算法实现 -包,算法实现 -包,包体部分的代码实现:,算法实现 -包,算法实现 -游标,为什

4、么用游标? 什么时候需要显式游标 ?,算法实现 -游标,定义游标: 开启游标:,算法实现 -临时表,临时表空间(Temporary tablespace )的概念 临时表特点,算法实现 -临时表,语法结构 :,算法实现 -临时表,语法结构说明: -ON COMMIT DELETE ROWS 说明临时表是事务指定,每次提交后ORACLE将截断表(删除全部行) -ON COMMIT PRESERVE ROWS 说明临时表是会话指定,当中断会话时ORACLE将截断表。,算法实现 -临时表,其它操作表的语法 :,算法实现 -临时表,创建临时表存放查询出来的第一次转乘线路 :,算法实现 -临时表,创建临

5、时表-存放查询出来的第二次转乘线路 :,算法实现 -临时表,创建临时表 -存放查询出来的第一次转乘线路集合 :,算法实现 -临时表,创建临时表 -存放查询出来的第二次转乘线路集合 :,算法实现 -临时表,创建临时表 -存放查询出来的转乘线路 :,算法实现 -用户函数,将指定字段的行记录组成字符串的函数,示例:,算法实现 -存储过程,语法结构,算法实现 -存储过程,参数类型 : in 参数:输入参数,主程序向过程传递参数值。 out 参数:输出参数,过程向主程序传递参数值。 in out 参数:双向(输入输出)参数,过程与主程序双向交流数据。,算法实现 -存储过程,存储过程的实现 线路直达: 代

6、码:,算法实现 -存储过程,存储过程的实现 一次转乘: 代码:,查询实现,起止站查询站点筛选,查询实现-起止站点筛选,数据实体层 -BusStation.cs对应代码:,查询实现-起止站点筛选,表示层-SearchStartEndStation.aspx代码 1.所有符合条件的起始站点 :,查询实现-起止站点筛选,表示层-SearchStartEndStation.aspx代码 2.所有符合条件的终止站点:,查询实现-起止站点筛选,表示层-SearchStartEndStation.aspx.cs 1. Page_Load事件代码,查询实现-起止站点筛选,表示层-SearchStartEndS

7、tation.aspx.cs 2. 点击查看按钮的Click事件1,查询实现-起止站点筛选,表示层-SearchStartEndStation.aspx.cs 2. 点击查看按钮的Click事件2,查询实现-起止站点筛选,表示层-SearchStartEndStation.aspx.cs 3. 起始站点RadioButtonList的DataBound事件,查询实现-起止站点筛选,表示层-SearchStartEndStation.aspx.cs 4. 终止站点RadioButtonList的DataBound事件,查询实现-起止站点筛选,业务逻辑层-BusStation.cs对应代码1:,查

8、询实现-起止站点筛选,业务逻辑层-BusStation.cs对应代码2:,查询实现-起止站点筛选,接口访问层 -IBusStation.cs对应代码:,查询实现-起止站点筛选,数据访问层 -BusStation.cs对应代码: 1. 获得数据列表1,查询实现-起止站点筛选,数据访问层 -BusStation.cs对应代码: 1. 获得数据列表 2,查询实现-起止站点筛选,数据访问层 -BusStation.cs对应代码: 1. 获得数据列表3,查询实现-起止站点筛选,数据访问层 -BusStation.cs对应代码: 2. 查询单条数据1,查询实现-起止站点筛选,数据访问层 -BusStati

9、on.cs对应代码: 2. 查询单条数据2,查询实现-起止站点筛选,数据访问层 -BusStation.cs对应代码: 2. 查询单条数据3,查询实现-直达线路查询,表示层-SearchThrough.aspx代码 1,查询实现-直达线路查询,表示层-SearchThrough.aspx代码2,查询实现-直达线路查询,表示层-SearchThrough.aspx.cs代码 跳转到转乘查询代码,查询实现-直达线路查询,接口访问层 -ISearchStartEndStation.cs,查询实现-直达线路查询,数据访问层 -SearchStartEndStation.cs 查询直达方法 1,游标类型

10、,存储过程中的游标名称,类型为输出,查询实现-直达线路查询,数据访问层 -SearchStartEndStation.cs 查询直达方法 2,定义并开启事务,调用的包名,事务名称作为参数,调用的存储过程名,提交事务,查询实现-直达线路查询,数据访问层 -SearchStartEndStation.cs 查询直达方法 3,出错,事务回滚,结束事务,查询实现-一次转乘查询,数据实体层 -SearchStartEndStation.cs代码:,查询实现-一次转乘查询,表示层-SearchExchange.aspx代码,查询实现-一次转乘查询,业务逻辑层-SearchStartEndStation.c

11、s,查询实现-一次转乘查询,业务逻辑层-SearchStartEndStation.cs,查询实现-一次转乘查询,接口访问层 -ISearchStartEndStation.cs,查询实现-一次转乘查询,数据访问层 -SearchStartEndStation.cs代码 查询转乘方法 转乘查询的方法与直达查询方法 类似,只是调用的存储过程名、参数名称和输出结果集不同,参照直达查询方法实现。,查询实现-车次查询,根据以上讲解,完成车次查询的实现: 表示层-SearchRode.aspx代码 表示层-SearchRode.aspx.cs代码 业务逻辑层-BusRoad.cs代码 数据访问接口层-IBusRoad.cs中的代码 数据访问层(OracleDAL)-查询单条数据 数据访问层(OracleDAL)-检索车次所经过的站点,查询实现-站点查询,根据以上讲解,完成站点查询的实现: 表示层-SearchStation.aspx代码 表示层-SearchStation.aspx.cs代码 业务逻辑层-BusStation.

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论