




已阅读5页,还剩31页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
综合课程设计报告综合课程设计报告 题目:题目: 班级: 姓名: 学号: 指导教师: 完成日期: 年 月 日 评语评语 课程课程设计任务内容设计任务内容 本系统要实现的功能是管理员可以对实验室设备信息进行查询及相关实验室设 备的使用情况查看,可以根据本人用户名和密码登录系统。在信息系统中,后台数 据库存储的地位相当重要本系统采用了 MYSQL 数据库 book,库中包括设备信息 表、教师信息表、借用设备表、损坏设备表、归还设备表、报废设备表、用户登陆 表。系统首先必须维护实验室中详细资料的数据表,程序能对该表进行写入和读出 数据的操作。 实验室设备管理需要完成的功能主要如下: 1) 设备管理:实现仓库中的每样设备信息的登记和新设备的入库登记,旧设备的报 修、报废处理,以及设备状态的更改。 2) 设备的借出:按照教师所需设备而给予借出,并在数据库中更改这些设备的使用 状态。 3) 设备的归还:按照教师所还设备而进行入库登记,并在数据库中更改这些设备的 使用状态。 4) 设备报修:实验人员在实验过程中如果发现设备损坏,通过此系统报告给管理员, 同时改写数据库中的设备状态。 目录 第一章 系统概述3 3 1.1 系统开发背景 .3 1.2 项目设计基本原理 .3 1.3 数据库系统设计及范式分析 .4 第二章 系统需求分析5 5 2.1 可行性研究 .5 2.2 需求分析 .6 2.3 数据描述 .8 第三章 总体设计1010 3.1 总体设计原理 10 3.2 运行环境与系统结构 10 3.3 系统功能模块与设计 10 3.4 系统功能模块说明 11 3.5 系统功能模块图 12 第四章 详细设计1313 4.1 数据库的概念设计 13 4.1.1 局部 E-R 模式设计 13 4.1.2 全局 E-R 设计 16 4.1.3 数据库实现 16 第五章 详细设计2020 5.1 全局 E-R 设计 20 5.2 编码实现与测试用例设计 21 第五章 系统总结2828 6.1 总结 28 6.2 系统不足 28 参考文献2929 第一章 系统概述 1.1 系统开发背景 一个现代化的实验室设备系统在正常运行中总是面对大量的使用者, 仪器以及两者相互作用产生的借用仪器。人工管理既浪费人力物力财力, 又容易导致各种错误的发生。为了方便实验室管理,得开发一个更好更 高效的软件来管理。实验室管理系统,是为了实现实验室管理而设计的, 它也是现在各个部门的一个重要环节。 实验室是所有高校、研究机构必不可少的基本构成单位。特别是高 校,实验室的设备管理需要一套稳定、高效的管理办法。就我校情况看 来,目前我校的实验室设备管理还处于较原始的手工阶段,缺少一套实 用可靠的管理系统软件。随着电气化教学和无纸化办公的一步步完善, 利用计算机管理系统管理我校的实验室设备势在必行。因此,本项目拟 开发一个实验室设备管理系统。 本系统将建立一个实验室设备管理平台,记录实验室所有的实验设 备,并及时反应设备的运转状况,使用情况,以供本科生和研究生及其 他试验人员合理的安排实验,达到工作效率的最优。 1.2 项目设计基本原理 软件工程是一门从技术和组织管理两个角度研究如何用系统化、规 范化和数量化等工程原理也方法去进行软件开发和维护的学科。软件工 程学研究的范围非常广泛,包括技术方法、工具和管理等许多方面。软 件生命周期的各个阶段可分为: 采用软件工程的技术方法开发本系统,通过以上八个阶段组成软件 的生存期,它是指从提出开发要求开始直到该软件报废为止的整个时期。 分阶段进行,就把规模庞大、结构复杂和管理复杂的软件变的容易控制 和管理。基于此思想,本系统开发实际可行的软件,方便毕业时信息的 管理。 1.3 数据库系统设计及范式分析 数据库设计主要是进行数据库的逻辑设计,即将数据按一定的分类、 分组系统和逻辑层次组织起来,是面向用户的。数据库设计时需要综合 企业各个部门的存档数据和数据需求,分析各个数据之间的关系,按照 DBMS 提供的功能和描述工具,设计出规模适当、正确反映数据关系、数 据冗余少、存取效率高、能满足多种查询要求的数据模型。 数据库设计的步骤是; 1 数据库结构定义:目前的数据库管理系统(DBMS)有的是支持联机 事务处理 CLTP(负责对事务数据进行采集、处理、存储)的操作型 DBMS,有的可支持数据仓库、有的联机分析处理 CLAP(指为支持决策的 制度对数据的一种加工操作)功能的大型 DBMS,有的数据库是关系型的, 有的可支持面向对象数据库。针对选择的 DBMS,进行数据库结构定义。 2 数据表定义:数据表定义指定义数据库中数据表的结构,数据表的 逻辑结构包括:属性名称、类型、表示形式、缺省值、效验规则、是否 关键字、可否为空等。关系型数据库要尽量按关系规范化要求进行数据 库设计,但为使效率高,规范化程序应根据应用环境和条件来决定。数 据表设计不仅要满足数据存储的要求,还要增加一些如反映有关信息、 操作责任、中间数据的字段或临时数据表。 3 存储设备和存储空间组织:确定数据的存放地点、存储路径、存储 设备等,备份方案,对多版本如何保证一致性和数据的完整性。 4 数据使用权限设置:针对用户的不同使用要求,确定数据的用户使 用权限,确保数据安全。 5 数据字典设计:用数据字典描述数据库的设计,便于维护和修改。 第二章 系统需求分析 2.1 可行性研究 2.1.1 技术可行性 一个完备的实验室设备管理信息系统具有以下优越性: 方便校领导查询实验室设备的使用情况,节省时间,可以提高系统的 工作效率和准确率。为了适应新形势的发展,我进行了这一系统的初步 设计工作,也可以说是做一个初步的探索,希望它能够在查询实验室设 备信息时发挥高效、便捷的作用,把系统管理员从繁重的工作中解脱出 来! 该实验室设备管理信息系统是以 MYSQL 数据库为后台核心应用、 以服务为目的信息平台,对资源进行科学的加工整序和管理维护,为实 验室设备信息提供管理。 2.1.2 经济可行性 经济可行性主要依据是成本/效益分析,该系统的目标是以最低的成 本,在最短的期限内开发出实验室设备管理信息系统。系统能减少很多 不必要的资源,不用象以前那样用冗余的纸张式的管理。大大节省了学 校能源。并且还提高了实验室设备信息管理的精确度。 方便快速的操作,可减少实验室设备信息管理的漏洞,又减少因工 作的冗余出现的错误,并且操作非常简单,可减少许多不很必要的人员, 这无论从物质上海是工作人员的工资上都为学校节约了开支。为学校增 加了财富。 目标系统开发需求比较低,加上具有成熟的软硬件环境,所以在软 硬件的支出上比较低,在为使用者带来便利的同时,也问哦系统的进一 步推广创造了条件。这带来的经济回报将远超过支出,并且最重要的是 该软件的开发可以使我们对系统的开发有全面的认识。从经济角度考虑, 此实验室设备管理信息系统开发可行。 2.1.3 操作可行性 用户仅需具有基本的电脑操作能力即可。 2.1.4 社会因素可行性 从法律因素和安全用正版和免费角度考虑,所有技术参考资料都经 授权,所有软件都选。 2.1.5 可行性研究结论 依据以上因素,本实验室设备管理信息系统开发项目不仅方便快捷、 高效,而且社会效益比较好从而使本系统开发者相信该系统开发出来之 后将取得成功。 综上所述,此项目在技术、经济、操作和社会效益上是完全可行的。 2.2 需求分析 2.2.1 系统目的 21 世纪以来,人类经济高速发展,人们发生了日新月异的变化,特 别是计算机的应用及普及到经济和社会生活的各个领域。使原本旧的管 理方法越来越不适应现在社会的发展。许多人还停留在以前的手工操作。 这大大的阻碍了人类经济发展。为了适应现代社会人们高度强烈的时间 观念,学校实验室设备信息管理系统软件为学校实验室带来极大的方便。 学校的规模不断扩大,实验室设备数量急剧增加,有关实验室设备 的各个信息也成倍增加。面对庞大的信息量,需要有专门的实验室设备 管理系统来提高工作的效率。本系统为实验室设备管理信息系统,通过 这样的系统,可以做到信息的规范管理,快速查询实验室设备的就业信 息。其开发主要包括数据库的建立和维护以及前端应用程序的开发两个 方面。 2.2.2 系统功能及用户需求分析 管理员可以对实验室设备信息进行查询及相关实验室设备的使用情 况查看。管理员可以根据本人用户名和密码登录系统。在信息系统中, 后台数据库存储的地位相当重要,数据库的设计不但对数据的操作速度 有影响,还直接关系到软件系统的质量和生存周期。本系统采用了 SQL 数据库 book,book 库中包括教师信息表、借用设备表、仪器表、用户登 陆表。系统首先必须维护实验室中详细资料的数据表,程序能对该表进 行写入和读出数据的操作,相应的,该表还有记录读者的借用情况,系 统通过该表判断读者是否满意借用条件。系统还要管理员信息表,记录 管理员的资料,检验管理员的登陆,管理员的权限等。 1 功能需求 1)设备预定:实现实验人在系统平台上查询库内实验设备的状态及 在某一时段的使用状况,若无损坏且未被预定使用,则用户可预定使用。 2)设备管理:实现现在仓库中的每样设备信息的登记和新设备的入 库登记,旧设备的报修、报废处理,以及设备状态的更改。 3)设备的借出:按照教师所需设备而给予借出,并在数据库中更改 这些设备的使用状态。 4)设备的归还:按照教师所还设备而进行如库登记,并在数据库中 更改这些设备的使用状态。 5)设备报修:实验人员在实验过程中如果发现设备损坏,通过此系 统报告给管理员,同时改写数据库中的设备状态。 2.3 数据描述 2.3.1 数据流图 报废信息 设备信息 类别/时间段 管理员登 录 反馈 管理员 P 2.1 用户登录 P 2.2 设备查询 P 2.3 借用设备 P 2.4 归还设备 P 2.5 设备审核 P 2.6 报废设备 处理 用户 采购部 设备使用状况 2.3.2 数据字典 数据字典是关于数据的信息的集合,也就是对数据流图中包含的所 有元素的定义的集合。数据流图和数据字典共同构成系统的逻辑模型。 下面用数据字典来定义数据流图中各元素的确切内容: 设备:实验室设备信息表别名 定义:实验室设备信息表=类别+型号+规格+购买每个设备的价格+单 价数量+购置日期间+生产厂家+生产厂商+购买人保修时间+是否贵重设备 +责任人 描述:实验室每种设备的详细信息 位置:equipment.mdb 数据库 归还:归还设备信息表 描述:记录所有已归还设备的情况 定义:归还信息表=编号+设备名+型号+规格+数量+单价+借出日期+ 生产厂家 位置:return 数据库 维修:实验室中损坏的信息 描述:记录实验室中损坏的设备以及归还设备中损坏的信息 定义:损坏信息表=编号+设备名+型号+规格+数量+单价+生产厂家+ 损坏的责任人 位置:repaire 数据库 报废:实验室中损坏但是修理不好的设备信息 描述:记录实验室中没有使用价值的设备 定义:报废设备信息表=编号+设备名+型号+规格+数量+单价+生产厂 家 位置:throw 数据库 人员:使用实验室设备的所有教师 描述:记录所有使用设备的所有教师信息 定义:人员信息=教师姓名+教师性别+教师学历+部门名称+权限类别 +电话号码+登记日期 位置:teacher 数据库 系统管理员:管理实验室设备的人 描述:对整个实验室设备进行管理,包括对设备进行查询、删除、 更新操作的人 定义:管理员信箱=用户名+密码+权限 位置:management 数据库 第三章 总体设计 3.1 总体设计原理 总体设计的基本目的就是回答“系统应该如何实现?”这个问题。 因此总体设计又称为概要设计或初步设计。通过这个阶段的工作将划分 出组成系统的物理元素程序、文件、数据库、人工过程和文档等等, 但是每个物理元素仍然处于黑盒子级,这些黑盒子里的具体内容将在以 后仔细设计。总体设计阶段的另一项重要任务是设计软件的结构,也就 是要确定系统中每个程序是由哪些模块组成的,以及这些模块相互之间 的关系。 总体设计工程通常有两个主意阶段组成:系统设计,确定系统的具 体实现方案;结构设计确实软件结构,也就是要确定系统中每个程序拥 有哪些模块组成的,以及这些模块之间的关系。在详细设计之前进行总 体设计可以站在全局的高度上,花较少的成本,从中选出最佳方案和最 合理的软件结构,从而用较低的成本开发出高质量的软件系统。 3.2 运行环境与系统结构 为了保证系统运行的效率和可靠性,系统服务器端应具有较高的软 硬件配置,客户端的要求不是很高。此应用程序可广泛用于内部的局域 网。 3.3 系统功能模块与设计 模块化就是把程序划分成独立命名且可独立访问的模块,每个模块 完成一个子功能,把这些模块集成起来构成一个整体,可以完成指定的 功能满足用户的需求。 采用模块化原理可以使软件结构清晰,不仅容易设计也容易阅读和 理解。因为程序错误常局限在有关的模块及它们之间的接口中,所以模 块化使软件容易测试和调试,因而有助于提高软件的可靠性。一个好的 电子系统要有一些必要的模块组成,若缺少了某些模块那么这个系统就 会有缺陷。 3.4 系统功能模块说明 1 新进设备状态查询: 1)待效验 2)效验通过 3)效验失败 4)待登记 5)登记成功 6) 登记失败 2 现有设备管理: 1)损坏设备报修 记录修理日期、设备名、修理厂家、修理费、责任人 于统计栏记录备案 2)设备报废 记录报废原因、责任人及相关信息 于统计栏记录备案 3)维修返回登记 加入“现有设备统计” 统计栏记录备案 4)设备出入统计 统计记录资料并规范格式 查询设备维修、报废统计 打印设备维修、报废统计表 3 急需设备购进 1)生成购买申请表 2)打印表格 3)登记设备详细资料,同时更新申 请表内容 4 管理员验证登陆 1) 创立/修改管理员 登记管理员资料 修改管理员资料 删除管理员资料 2)创建/修改管理员密码 新建管理员密码 修改管理员密码 3)验证登录 登录方式判断 以浏览方式登录,禁止修改数据但可以浏览 管理员登录密码验证 3.5 系统功能模块图 实验 室设 备管 理系 统 设备查询管理 现有设备管理 设备购进管理 设备使用管理 按编号查询 第四章 概念设计 4.1 数据库的概念设计 根据对数据流图和数据字典的分析,确定该应用中的实体、属性和 实体之间的联系,并画出系统总体的 E-R 图。概念设计可分为三步进行: 首先设计局部 E-R 模式,然后把各局部 E-R 模式综合成一个全局模式, 最后对全局 E-R 模式进行优化,得到最终的模式,即概念模式。 4.1.1 局部 E-R 模式设计 实体和属性的定义。E-R 模型的“联系”用于刻画实体之间的关联。 一种完整的方式是对局部结构中任意两个实体类型,依据需求分析的结 果,考察局部结构中任意两个实体类型之间是否存在联系。若有联系, 进一步确定是 1:N,M:N,还是 1:1 等,还要考察一个实体类型内部是否 存在联系,两个实体类型之间是否存在联系,多个实体类型之间是否存 在联系等等。 1 局部 E-R 模式的合并 合并的原则是:首先进行两两合并,先合并那些现实世界中有联系 的局部结构,合并从公共实体类型开始,最后再加入独立的局部结构。 2 消除冲突 冲突分为三类:属性冲突,结构冲突,命名冲突。 设计全局 E-R 模式的目的不在于把若干局部 E-R 模式形式上合并为 一个 E-R 模式,而在于消除冲突,使之成为能够被所有用户共同理解和 接受的同一概念模型。 3 全局 E-R 模式的优化 在得到全局 E-R 模式后,为了提高数据库系统的效率,还应进一步依 据处理需求对 E-R 模式进行优化,一个好的全局 E-R 模式,除能准确、 全面的反映用户功能需求外,还应满足下列条件:实体类型的个数要尽 可能的少,实体类型所含属性个数尽可能少,实体类型间联系无冗余。 1) 实验室设备信息 E-R 图,如下图所示。 图 4.1 实验室设备信息 E-R 图 2) 使用设备的教师信息 E-R 图,如下图所示。 图 4.2 使用设备的教师信息 E-R 图 3) 借用设备 E-R 图,如下图所示。 图 4.3 借出设备 E-R 图 4) 归还设备 E-R 图,如下图所示。 图 4.4 归还设备 E-R 图 5) 报废设备 E-R 图,如下图所示。 图 4.5 报废设备 E-R 图 6) 损坏设备 E-R 图,如下图所示。 图 4.6 损坏设备 E-R 图 7) 管理员 E-R 图,如下图所示。 图 4.7 管理员 E-R 图 4.1.24.1.2 E-R 图模型转成关系模型: E-R 图模型转成关系模型: 1 设备信息(设备编号,设备名称,价格,生产厂家,设备数量,借出数 量,备注,设备状况,启用日期,报废数量) 2 借用设备(设备编号,设备名称,借用人,借用数量,用途,借用日期, 归还日期,经手人,备注) 3 教师信息(教师姓名,性别,教师学历,权限类别,电话号码,登记日 期,部门名称) 4 管理员(用户名,密码,权限) 5 损坏设备(设备编号,设备名称,设备型号,设备类别,单价,数量, 规格,生产厂家,损坏负责人,损坏程度) 6 报废设备(设备编号,设备名称,设备型号,规格,数量,单价,生产 厂家) 7 归还设备(设备编号,设备名称,设备型号,规格,数量,单价,生产 厂家,借出日期,何人借出) 4.1.3 数据库实现 基本表如下: 1)设备信息表 2)借用设备表 3)教师信息表 4)损坏设备表 5)报废设备表 6)归还设备表 各表联系图 第五章 详细设计 5.1 全局 E-R 设计 所有局部 E-R 模式都设计好后,接下来就是把它们综合成单一的全 局概念结构。全局概念结构不仅要支持所有局部 E-R 模式,而且必须合 理的表示一个完整、一致的数据库概念结构。如下图所示。 使用设备的教师信息 使用 实验室设备信息管理员 管理 记录 设备报废信息 设备损坏信息 设备归还信息 设备借出信息 借出 系统总体系统总体 E-R 图图 5.2编码实现与测试用例设计 5.2.1 登录界面 运行本系统程序,首先出现登录界面,输入正确的用户名和密码之后进入主窗体 数据库的链接操作代码如下: package org.mm.mldn.dbc; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; public class DataBaseConnection / 定义 MySQL 的数据库驱动程序 public static final String DBDRIVER = “org.gjt.mm.mysql.Driver“ ; / 定义 MySQL 数据库的连接地址 public static final String DBURL = “jdbc:mysql:/localhost:3306/mldnl“ ; / MySQL 数据库的连接用户名 public static final String DBUSER = “root“ ; / MySQL 数据库的连接密码 public static final String DBPASS = “liyunfei“ ; private Connection conn = null; public DataBaseConnection() try Class.forName(DBDRIVER); catch (ClassNotFoundException e) / TODO Auto-generated catch block e.printStackTrace(); try conn = DriverManager.getConnection(DBURL,DBUSER,DBPASS); catch (SQLException e) / TODO Auto-generated catch block e.printStackTrace(); public Connection getConnection() return this.conn; public void close() if(this.conn != null) try this.conn.close(); catch (SQLException e) / TODO Auto-generated catch block e.printStackTrace(); 5.2.2 主界面 主界面的菜单栏包含的主要菜单有实验设备、仪器管理、人员管理、借用仪器、 查询信息和帮助. 图 5.2.2 主界面窗体 5.2.3 主要功能模块代码 package org.mm.mldn.dao.impl; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.util.ArrayList; import java.util.List; import org.mm.mldn.dao.IAdInfoDAO; import org.mm.mldn.dbc.DataBaseConnection; import org.mm.mldn.vo.AdInfo; public class IAdInfoDAOImpl implements IAdInfoDAO private DataBaseConnection dbc = null; private Connection conn = null; public IAdInfoDAOImpl(Connection conn) this.conn = conn; public boolean doCreate(AdInfo adInfo) throws Exception boolean flag = false; PreparedStatement pstmt = null; String sql = “insert into AdInfo(ad_id,ad_name,price,factary,“ + “ad_no,lend_no,ad_zk,bad_no,use_data,bz)VALUES (?,?,?,?,?,?,?,?,?,?) “; try pstmt = this.conn.prepareStatement(sql); pstmt.setString(1, adInfo.getAd_id(); pstmt.setString(2, adInfo.getAd_name(); pstmt.setString(3, adInfo.getPrice(); pstmt.setString(4, adInfo.getFactary(); pstmt.setInt(5, adInfo.getLend_no(); pstmt.setInt(6, adInfo.getAd_no(); pstmt.setString(7, adInfo.getAd_zk(); pstmt.setInt(8, adInfo.getBad_no(); pstmt.setDate(9, new java.sql.Date(adInfo.getUse_data().getTime(); pstmt.setString(10, adInfo.getBz(); if (pstmt.executeUpdate() 0) / 至少已经更新了一行 flag = true; else flag = false; catch (Exception e) throw e; finally / 不管如何抛出,最终肯定是要进行数据库的关闭操作的 if (pstmt != null) try pstmt.close(); catch (Exception e1) return flag; public boolean doDelete(String ad_id) throws Exception boolean flag = false; PreparedStatement pstmt = null; String sql = “delete from adInfo where ad_id = ? “; try pstmt = this.conn.prepareStatement(sql); pstmt.setString(1,ad_id); if (pstmt.executeUpdate() 0) / 至少已经更新了一行 flag = true; catch (Exception e) throw e; finally / 不管如何抛出,最终肯定是要进行数据库的关闭操作的 if (pstmt != null) try pstmt.close(); catch (Exception e1) return flag; public boolean doUpdate(AdInfo adInfo) throws Exception boolean flag = false; PreparedStatement pstmt = null; String sql = “UPDATE adInfo SET ad_name=?,price=?,factary=?,ad_no=?,lend_no=?,“ + “ad_zk=?,bad_no=?,use_data=?,bz=? WHERE ad_id=?“; try pstmt = this.conn.prepareStatement(sql); pstmt.setString(1, adInfo.getAd_name(); pstmt.setString(2, adInfo.getPrice(); pstmt.setString(3, adInfo.getFactary(); pstmt.setInt(4, adInfo.getAd_no(); pstmt.setInt(5, adInfo.getLend_no(); pstmt.setString(6, adInfo.getAd_zk(); pstmt.setInt(7, adInfo.getBad_no(); pstmt.setDate(8, new java.sql.Date(adInfo.getUse_data().getTime(); pstmt.setString(9, adInfo.getBz(); pstmt.setString(10, adInfo.getAd_id(); if (pstmt.executeUpdate() 0) / 至少已经更新了一行 flag = true; catch (Exception e) throw e; finally / 不管如何抛出,最终肯定是要进行数据库的关闭操作的 if (pstmt != null) try pstmt.close(); catch (Exception e1) return flag; public AdInfo find_adId(String ad_id) throws Exception AdInfo adInfo = null ; PreparedStatement pstmt = null; String sql = “SELECT ad_id,ad_name,price,factary,“ + “ad_no,lend_no,ad_zk,bad_no,use_data,bz FROM adInfo WHERE ad_id=?“; try pstmt = this.conn.prepareStatement(sql); pstmt.setString(1, ad_id) ; ResultSet rs = pstmt.executeQuery(); / 执行查询操作 if (rs.next() adInfo = new AdInfo(); adInfo.setAd_id(rs.getString(1); adInfo.setAd_name(rs.getString(2); adInfo.setPrice(rs.getString(3); adInfo.setFactary(rs.getString(4); adInfo.setAd_no(rs.getInt(5); adInfo.setLend_no(rs.getInt(6); adInfo.setAd_zk(rs.getString(7); adInfo.setBad_no(rs.getInt(8); adInfo.setUse_data(rs.getDate(9); adInfo.setFactary(rs.getString(10); rs.close() ; catch (Exception e) throw e; finally / 不管如何抛出,最终肯定是要进行数据库的关闭操作的 if (pstmt != null) try pstmt.close(); catch (Exception e1) return adInfo; public int find_No(String ad_id) throws Exception AdInfo adInfo = null ; int no=0; PreparedStatement pstmt = null; String sql = “ select ad_no-lend_no-bad_no from AdInfo where ad_id=?“; try pstmt = this.conn.prepareStatement(sql); pstmt.setString(1, ad_id) ; ResultSet rs = pstmt.executeQuery(); / 执行查询操作 adInfo = new AdInfo(); adInfo.setAd_no(rs.getInt(1); adInfo.setLend_no(rs.getInt(2); adInfo.setBad_no(rs.getInt(3); rs.close() ; catch (Exception e) throw e; finally / 不管如何抛出,最终肯定是要进行数据库的关闭操作的 if (pstmt != null) try pstmt.close(); catch (Exception e1) return no; public List findAll(String KeyWord) throws Exception / TODO Auto-generated method stub List all = new ArrayList(); PreparedStatement pstmt = null; String sql = “SELECT ad_id,ad_name,price,factary,ad_no,lend_no,“ + “ad_zk,bad_no,use_data,bz FROM adInfo WHERE ad_name=? OR ad_id like ? OR price like ? OR use_data like ?“; try pstmt = this.conn.prepareStatement(sql); pstmt.setString(1, “%“ + KeyWord + “%“); pstmt.setString(2, “%“ + KeyWord + “%“); pstmt.setString(3, “%“ + KeyWord + “%“); pstmt.setString(4, “%“ + KeyWord + “%“); ResultSet rs = pstmt.executeQuery(); /
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 汉字笔画课件演示
- 辽宁省七校协作体2025-2026学年高三上学期开学考试英语模拟试题(含解析)
- 2025年山西省临汾市中考物理模拟试卷(含答案)
- 3D打印技术与应用知到智慧树答案
- 互联网医疗机构经营模式分析
- 内衣行业市场趋势预测
- 2025双方合作经营教育公司合同范本
- 军事理论-国家安全环境强化版知到智慧树见面课答案
- 汉字书写与鉴赏课件
- 水粉陶罐基础知识培训课件
- TCAPC 016-2024 院外呼吸慢病健康管理规范
- 露天矿山安全知识培训课件
- 《中小企业员工激励机制存在的问题及完善对策研究》4000字
- 第1章 汽车4S店概述
- 呼兰河传完整版课件
- 医疗器械监管实务
- 旅游景区反恐防爆应急预案
- 实验室隐患排查培训
- 浪潮iqt在线测评题及答案
- 中外运社招在线测评题
- GB/T 18802.331-2024低压电涌保护器元件第331部分:金属氧化物压敏电阻(MOV)的性能要求和试验方法
评论
0/150
提交评论