JAVA程序设计
课程设计报告
选课查询系统
目录
学生选课查询系统概述...................................................................... 3
一、项目概述..................................................................................... 3
1、背景:........................................................................................ 3
2、课程设计目的.......................................................................... 4
二、任务安排..................................................................................... 5
三、系统总体设计............................................................................. 5
1、系统需求分析与设计.............................................................. 5
2、系统功能描述.......................................................................... 7
3、流程框图................................................................................. 7
四、课程设计总结............................................................................. 9
课程设计心得体会........................................................................ 9
附录:.............................................................................................. 10
参考文献:................................................................................. 10
学生选课查询系统
内容摘要:随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。学生选课系统作为一种现代化的教学技术,以越来越受到人民的重视,是一个学校不可缺少的部分, 学生选课系统就是为了管理好选课信息而设计的。学生选课系统的将使选课管理工作规范化,系统化,程序化,避免选课管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改选课情况。
关键词:选课、课程信息发布、JSP
一、项目概述
1、背景:
华师选课系统每到选课的时候必然瘫痪,系统承受不了大量的学生用户在同一时间段涌入,此时就需要一个快捷简易的选课查询系统来帮助学生解决这种烦恼,减轻教务网的压力。
选课系统是学校必不可少的部分,随着科学技术的不断提高和计算机科学的日益成熟,其强大的功能已经为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机进行选课信息进行管理,有着手工管理无法比拟的优点。例如:检索迅速,查找方便,可靠性高,存储量大,保密性好,寿命长,成本低等。
本系统使学生能更方便的对自己的成绩进行查询,更准确的选课。该系统实现了办公无纸化,网络化,信息化。
2、课程设计目的
通过这次的设计,主要是做出一个小型的管理系统,来加强对JAVA所学知识的巩固和融会贯通,可以说是对一个学期所学知识的一个小结,加深对JAVA数据库的理解,学会图形界面的编写与美化,达到学以自用的效果。
摘 要:随着计算机技术的飞速发展和高等教育体制改革的不断深入,传统教育管理方法、手段以及工作效率已不能适应新的发展需要,无法很好地完成教学管理工作。提高教务管理水平的主要途径是更新管理者的思想,增强对管理活动的科学认识。基于ESclipse与数据库技术建立一个高校教务管理系统该系统为学生和教师提供了查询、修改、存储、增加记录、选课等功能,功能比较齐全,基本上能满足学生和老师的要求。
教务管理工作是高等学校教育工作的一项重要内容,是整个学校管理的核心和基础。教务管理工作是指学校管理人员按照一定教育方针,运用先进的管理手段,组织 、协调 、指挥并指导各方面人员的活动,以便高效率、高质量地完成各项教学任务,完成国家所制定的教育目标。教务管理工作是学校教学工作的中枢,是保证高校教学机制正常运转的枢纽,它是一项目的性、计划性、适用性、创造性和科学性很强的工作。教务管理工作关系到高校教学秩序的稳定和教学质量的提高,关系到高校的发展和人才的培养,教务管理高校中占有相当重要的地位。
随着计算机技术的飞速发展和高等教育体制改革的不断深入,传统教育管理方法、手段以及工作效率已不能适应新的发展需要,无法很好地完成教学管理工作。提高教务管理水平的主要途径是更新管理者的思想,增强对管理活动的科学认识。同时,运用先进的信息技术,开发高校综合教务管理信息系统,是深化教务体制改革的有利措施。
二、任务安排
在任务初期,全体成员通过图书馆查看书籍,上网查看与本系统有关的资料,学习理解本设计的框架和设计难点所在(程序与数据库的连接,选课的同步性,课表冲突,课表显示与导出等等难题)。尽力理解别人成果当中的设计思想,专研课本。前期分工专门攻克有关数据库方面的难题。研究有关选课方面的问题,攻克了关于选课冲突,课程容量等难题。
三、系统总体设计
1、系统需求分析与设计
SQL Server安全可靠,性能好,易用性强,JSP的Web运用跨平台,系统底层采用Java开发。Java语言简单,面向对象,安全性高的特点,运用Serlvet模式和Tomcat服务器。这几点的综合搭配使得该系统灵活方便易用,简化了动态网站的开发。
Apache POI 是用Java编写的免费开源的跨平台的 Java API,Apache POI提供API给Java程式对Microsoft Office格式档案读和写的功能。是创建和维护操作各种符合Office Open XML(OOXML)标准和微软的OLE 2复合文档格式(OLE2)的Java API。用它可以使用Java读取和创建,修改MS Excel文件.而且,还可以使用Java读取和创建MS Word和MSPowerPoint文件。Apache POI 提供Java操作Excel解决方案。
开发工具和数据库的工具有很多,各有各的优势。在互联网大行其道的时代,电脑技术顺应着时代的发展,只有我们把握运用好各类技术,相互结合与利用,才能制作出更好的软件和程序。
开发环境和软件
(1) 操作系统:Windows 7
(2) 数据库软件:SQL Server 2005
(3) Java开发工具:Eclipse
(4)EXCEL课表导出工具:Apache POI
学生信息管理系统,可用于学校等机构的学生信息管理,查询,更新与维护,使用方便,易用性强,图形界面清晰明了。该软件用java语言编写,用SQLServer2005数据库作为后台的数据库进行信息的存储,用SQL语句完成学生学籍信息的添加,查询,修改,删除的操作以对课程的选择,删除,修改等。用ODBC驱动实现前台Java与后台SQL数据库的连接。Java语言跨平台性强,可以在windows,linux,ubuntu等系统下使用,方便简单,安全性好。SQLServer2005数据库高效安全,两者结合可相互利用各自的优势。
该系统实现的大致功能:
1.用户登陆界面。该界面可以选择使用者的身份,“管理员,教师,学生”。不同的身份有不同的操作界面和功能权限。ID号和密码输入正确即可登录。
2.学生管理界面。提供了学生学籍信息的查询,相关选课科目和选课状态的查询,课表查询,修改登录密码,导出课程表等功能。
3.教师管理界面。提供了对学生已选科目的查看,各科目选课人数的查看,导出各科目选课学生的表格。
4.管理员管理界面。拥有最高的权限。查看各科目选课的学生和人数,所有学生选课的状态,查看各科目的上课时间和老师,允许添加教师信息和课程信息等。
5.登录的用户信息分别存储在SQL数据库的“administrator”, “teacher”, “student”中,如果用户信息不存在则三张表中,将会无权利登录本管理系统。保证了本学生管理系统的安全性。
6.SQL数据库中“course”表中存储了相关课程的名称,上课时间,所属老师。“selected”中存储了已选课程的所剩容量,上课时间和所属老师。
时间特性要求:在软件方面,响应时间,更新处理时间都要求比较快而且迅速,这就需要采用存储过程技术,才能够满足用户的需要,在这个系统中用到了两个存储过程,它们分别是课程添加 、终止选课, 其中课程添加用来存储管理员新增加的课程,终止选课用来存储结束选课。
安全性:设立口令号和密码验证方式,防止非法用户登录进行操作。也就是用户只有学生和教师才能进入这个系统,此系统没有高及到管理员的操作,用户凭学生的口令号 即 学号进入;教师的口令号和密码进入此系统。
2、系统功能描述
该小型系统主要是用于管理学生及课程的基本信息,主要功能包括四方面的:
1.管理学生信息,其中包括修改密码,选课科目,添加删除课程,导出课表等操作。
2.管理课程信息,其中包括查看,添加等操作。
3.管理选课信息,其中包括查看,添加,删除,修改等操作。
4.查询信息,其中包括查询学生信息,查询课程信息,查询选课信息等操作。
选课规则:
(1)每个学生都应该把所有科目选上,但不可重复选同一门课或者同时选同一门课的不同时间。
(2)每个课程都有一定容量,选择人数不能超过该上线。
(3)选课时间不能互相冲突。
(4)个别科目会有两个时间段可以选,自己可以选两个中的一个,若其中一个时间段已经满人或者与其他课程时间冲突,则只能选择另一个时间段。
3、数据库结构框图
Login
Username:登录用户名
Password:登录密码
Student
name:学生学号
dept:学生姓名
banji:学生所属学院
username:班级
Teacher
Username:教师用户名
Password:教师登录密码
Administration
Username:管理员用户名
Password:管理员登录密码
Course
Lessons:课程名称
Day:上课的时间
Time:上课的具体时段
Teacher:上课老师
Selected
Lessons:已选课程
Day:已选课程的上课时间
Time:已选课程的具体上课时段
Teacher:已选课程的老师
Rm:该课程所剩余容量
Am:该课程容量
4、流程框图
5、具体模块
用户登录界面Loginjava:
登录时,凡是账号密码未填写、输入错误账号密码都会提出错误提示框。在填写好账号密码后,会读取数据库里的表,并查询其输入是否存在,若无误,则登录到用户界面。
学生界面:student.java
学生界面有关于自身的学号,姓名,学院,班级,选课状态信息查询,可以选择的课程信息,课程选择和删除,查询课表,修改密码,导出EXCEL课表等功能。
从学生页面导出课程表(excel文件):
教师界面teacher.java
教师的课程查询还有选课的学生信息,导出选课学生的excel表格。
从教师页面导出考勤表(excel文件):
管理员界面administration.java
管理员拥有最高的权限,对各课程状态的查询,对学生选课状态的查看和导出,增加新课程等功能。
从管理员界面导出选课情况汇总表(excel文件):
修改密码界面Modify.java
课表界面table.java
已选的课程在课表上显示(通过Student界面上的按钮进行在线查询)
四、课程设计总结
课程设计心得体会
通过这数周的努力,我们自己的作品终于出炉了,内心的激动与喜悦无法言表。想想当初,刚开时动工的时候,那真是毫无头绪,根本不知道从哪入手,首先对数据库的相关知识不是很了解,再者对sql sever2005的操作不是很熟悉。但我们并没有灰心气馁。通过几天的学习,请教,上网咨询,慢慢的有了一些眉目,同时也感觉不再那么无助。
虽然,对sql sever2005的了解还不是很充足,但一些简单的操作还是很令我兴奋。我们也深深体验到要熟练掌握一种操作软件的难度时那么的大。在制作过程中,有失败,有兴奋。但我们坚持了下来,遇到困难我们没有灰心,首先的困难就是对信息的收集,对各个表建立属性的调查,通过书本上的介绍和网上的一些资料的启发,这个困难不再困扰着我们。但最大的困难就是对sql sever2005的操作的学习,从一无所知到作出自己的程序,我们经历了许多的困难。但我们也从中学到了许多,通过向师兄、老师的请教,我们明白了许多课堂上本应该记住的知识,还有一个困难就是对语句的输入,一个细微的细节都必须十分的注意,如果不认真思考决策,就会出现或大或小的错误,如果早期的错误隐藏下来,对后面的工作影响就会很大,甚至有时要推倒很多前面做的工作重来。有时候,觉得我们写的程序非常的正确,但是就是编译通不过,在查找错误的过程中,面临着否定自己的过程,非常的痛苦,而且由于自己的经验及各方面的能力的不足,所以进展很缓慢。所以我们经常要请教高人帮忙!
这过程中我们也培养了团队精神,我们经常几个人在一起研究某个功能的如何实现,常常能想出意想不到的方法!在夜以继日的奋斗中,我们学会了sql sever2005的基本操作,也大大加深了对java编程的了解。总之,通过这个课程设计的制作,我们感到受益匪浅。
附录:
参考文献:
【1】 百度百科.
【2】陈伟 编著 《SQL Server 2005数据库应用与开发教程》北京:清华大学出版社,2007
【3】.张桂珠 刘丽 陈爱国 Java面向对象程序设计(第2版)北京邮电大学出版社赞
【4】.王保罗.Java面向对象程序设计[M]. 北京:清华大学出版社,20##年
【5】.高林,周海燕.Jsp网上书店系统与案例分析[M]. 北京:人民邮电出版社,20##年
【6】刘腾红,孙细明.信息系统分析与设计[M]. 北京:科学出版社,20##年
第二篇:Java Web课程设计报告--罗孜
湖南科技大学计算机科学与工程学院
WEB应用开发
课程设计报告
题目:图书借阅管理信息系统
学 号:1105010113
姓 名:罗 孜
专 业:计算机科学与技术
班 级:计算机一班
指导老师:韩 雪
博研图书管理系统
一、摘要
学校为了锻炼同学们的自己动手实践能力,开展了我们的JAVA课程设计实践。
根据学院的要求就做一个这样的系统,也并用上我们学习的JAVA WEB技术,对于这个系统完全是辅助了图书馆图书管理员,便捷简单的操作就可以梳理学生对图书的借阅归还,以及还可以通过管理员的权限对图书进行的增删改查。
使用计算机对图书进行管理,具有手工管理所无法比拟的优点。例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。因此能够极大地提高管理效率,也是实现图书的科学化、正规化管理的重要条件。
经过分析,本系统运用了MySQL为后台数据库,整个系统基于Struts2框架开发,实现了用户登录、管理员界面显示、添加新书、快速查询库存书籍、查询借书记录、用户对书籍的借阅归还、管理员对书籍信息删除等功能。
关键词: 图书管理; Java Web; Struts2
、
二、背景
传统人工的管理方式效率低、保密性差, 一方面导致教师、学生对学校图书室藏书情况不了解,图书室究竟有哪些图书也不知道。
另一方面图书管理员对图书管理工作力不从心,因为时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难,耗费劳动力大,难于避免错误的产生,更容易造成图书的外流。
然而现在,计算机的价格已经十分低廉,性能却有了长足的进步。在初级中学都装备有一定数量的电脑,中学教师都掌握了一定的计算机知识,它已经被学校应用于学校工作的许多领域。计算机之所以在中小学发挥如此重要的作用的原因主要有以下几个方面:
首先,计算机可以代替人工进行许多繁杂的劳动。
其次,计算机可以为农村初级中学节省许多资源。
第三,计算机可以大大的提高教职工的工作效率。
第四,计算机可以使敏感文档更加安全,等等。
三、开发工具及相关技术
3.1 Struts2框架技术
本系统是基于Struts2Web框架技术开发的,Struts2是在Struts和WebWork的技术基础上进行了合并的全新的Struts2框架。Struts2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与Servlet API完全脱离开。开发过程中包括整个开发环境的搭建,Struts的相关配置,各种Action类的编写,以及拦截器的配置和输入校验。
3.2 Html、JSP、JavaScript动态网页技术
本系统的用户页面主要用到Html、JSP和JavaScript动态网页的相关技术。Html主要对页面进行布局;JSP用来动态的展示后台的数据和获取前台用户输入的数据;JavaScrip用来对用户在页面上输入的数据进行实时地校验。
3.3 MySQL数据库
本系统的数据存储是用的MySQL数据库,MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL的SQL语言是用于访问数据库的最常用标准化语言。MySQL软件采用了GPL(GNU通用公共许可证)。本系统的数据库包括用户信息、图书信息和图书借阅信息等。对数据库的设计主要包括数据库表的设计,字段的设计,以及键和约束的设计。
四、系统的需求分析
1.图书查询。
2.读者信息查询,读者信息的查询内容应包括下面的几个方面:
读者信息——对读者的基本信息进行显示。
书刊借阅——对该读者借阅过的所有书籍进行查询。
借阅历史——查询该读者借阅过的所有书籍。
对系统的管理员来说,应该注意的是:
1.图书查询——对馆内的图书进行查询。
2.借阅管理——对读者的每一次借阅,还书进进登记和管理;
3.图书管理——对图书馆的书籍进行管理;
4.借阅证管理——对读者的借阅证进行管理;
五、总体设计
5.1系统概要
本图书管理系统总体上分为两大模块,一部分是管理员模块;该模块管理员可以登录进入,该模块集成了图书管理中所需的功能和录入新书到库,办公图书,借还手续,查询图书同时也可以对图书管借阅用户进行管理等等;另一部分是师生用户模块;该模块是给师生用户登录进入的,该模块的师生可以对图书进行查询操作,对自己已经借阅的图书浏览,同时借阅图书等等;两大模块共享首页,登录进来即可看见图书借阅榜,对借阅图书次数进行了依次排序,对师生借阅图书行程一个导向作用。
5.2功能模块
本系统的功能模块的设计如图5.1 所示,整个系统包含基本信息设置,图书信息管理,查询图书管理,添加图书管理,修改图书管理和用户借阅管理。
图5.1 功能结构图
5.3设计思想
利用软件开发现有软硬件环境,及先进的管理系统开发方案,从而达到充分利用现在资源提高系统开发水平和应用效果的目的。 系统应该符合软件工程开发的理论,开发方法等开发依据。 系统应满足图书馆管理工作需要,到操作过程中的直观,方便,实用,安全等要求。 系统具备数据库维护功能,及时根据用户需求进行数据库的各种操作。 系统采用原型,使用模块化程序设计方法,便于系统功能的各种组合和修改,以及系统的测试与维护。
5.4模块设计及功能
5.4.1 流程图
图5.2 系统流程图
5.4.2 借阅管理
图书管理系统在借阅的基础上必须有管理员的权限,普通的用户只能查询该图书在图书管中的库存图书,没有任何编辑删除增加的权限。而超级管理员在本系统中只有一个,拥有最高的权限,同时管理管理员和全部的师生用户,可以对各种信息进行查询修改。需要借阅书籍的话,可以通过管理员登录账户,然后先找到该书籍,在该书籍的面板中有借、还、编辑、删除四种操作方式。若需要借书,就点击借阅,需要输入注册有该系统的普通账户的学号,借阅的数量,就可以达到借阅的目的录入了。当来归还书籍的时候,也是首先要查到归还书籍的名称,然后再填写归还人的学号就能达到归还的目的。
5.4数据库设计
后面的数据库建表都是按照上图所示建表即可,如果有工具可直接导入生产sql文档,然后放入mysql操作工具直接生成表。
6、系统实现与测试
图6.1 系统登录
图6.2 系统主界面
图6.3 图书编辑
图6.4 图书借阅
图6.5 图书归还
图5.6 借阅信息
图6.7 图书查询
图6.8 借阅记录
图6.9 修改个人信息
图6.10 借阅到期提醒
七、总结
通过这两周的课程设计实验课,我利用我所学的只是和技术,设计了一个图书管理系统。在这其间,我遇到了很多问题,但是通过仔细分析问题,查找资料,和同学之间的讨论,再加上指导老师的说明和提点,使得我最终顺利完成了我的基本任务。
这次做的是一个图书信息管理系统,本来也是无从下手,后来通过查阅书籍资料,将整体划分为几个模块,然后逐个击破,最后再做整合。不过我也深刻了意识到了自己的不足,因为自己的技术掌握不够,在一些细节方面没有考虑到,例如:在借阅图书的时候老师和学生的可以借阅图书的数量应该不一样,老师应该比学生可以借阅图书的上线大一点,通过老师的提醒,我也意识到了。在之后的学习中我也会慢慢完善自己的项目,争取把它做成一个完整的尽可能少漏洞的图书信息管理系统。
这次的课程设计,非常有效的提高了我的动手能力和编码能力,同时也增加了自己的项目开发经验。增强了自己的自学能力,学会了系统科学客观的分析的问题,能主动的查阅资料解决问题。同时也培养了我认真严谨的工作作风。
参考文献
[1]Java语言程序设计(基础篇)[M]机械工业出版社.2010.6
[2]Java语言程序设计(进阶篇)[M]机械工业出版社.2010.6
[3]Java核心技术卷2:高级特性 Cay S.Horstmann Gary Cornell著 机械工业出版社
[4]Java Web应用开发原理与技术 徐建波著 国防科技大学出版社
[5]Tomcat与Java Web开发技术详解 孙卫琴,李洪成著 电子工业出版社
[6]《Servlets and JavaServer pages:The J2EE Technology Web Tier》 Addison Wiley著。
后附处理书本的信息的关键代码:
package com.dao;
import com.core.ConnDB;
import java.sql.*;
import java.util.*;
import com.actionForm.BookForm;
public class BookDAO {
private ConnDB conn = new ConnDB();
// 查询数据
public Collection query(String strif) {
BookForm bookForm = null;
Collection bookColl = new ArrayList();
String sql = "";
if (strif != "all" && strif != null && strif != "") {
sql = "select * from (select b.*,c.name as bookcaseName,p.pubname as publishing,t.typename from tb_bookinfo b left join tb_bookcase c on b.bookcase=c.id join tb_publishing p on b.ISBN=p.ISBN join tb_booktype t on b.typeid=t.id where b.del=0) as book where book."
+ strif + "'";
} else {
sql = "select b.*,c.name as bookcaseName,p.pubname as publishing,t.typename from tb_bookinfo b left join tb_bookcase c on b.bookcase=c.id join tb_publishing p on b.ISBN=p.ISBN join tb_booktype t on b.typeid=t.id where b.del=0";
}
System.out.println("图书查询时的SQL:" + sql);
ResultSet rs = conn.executeQuery(sql);
try {
while (rs.next()) {
bookForm = new BookForm();
bookForm.setBarcode(rs.getString(1));
bookForm.setBookName(rs.getString(2));
bookForm.setTypeId(rs.getInt(3));
bookForm.setAuthor(rs.getString(4));
bookForm.setTranslator(rs.getString(5));
bookForm.setIsbn(rs.getString(6));
bookForm.setPrice(Float.valueOf(rs.getString(7))); // 此处必须进行类型转换
bookForm.setPage(rs.getInt(8));
bookForm.setBookcaseid(rs.getInt(9));
bookForm.setInTime(rs.getString(10));
bookForm.setOperator(rs.getString(11));
bookForm.setDel(rs.getInt(12));
bookForm.setId(Integer.valueOf(rs.getString(13)));
bookForm.setBookcaseName(rs.getString(14));
bookForm.setPublishing(rs.getString(15));
bookForm.setTypeName(rs.getString(16));
bookColl.add(bookForm);
}
} catch (SQLException ex) {
ex.printStackTrace();
}
conn.close();
return bookColl;
}
// 添加数据
public int insert(BookForm bookForm) {
String sql1 = "SELECT * FROM tb_bookinfo WHERE barcode='"
+ bookForm.getBarcode() + "' or bookname='"
+ bookForm.getBookName() + "'";
ResultSet rs = conn.executeQuery(sql1);
String sql = "";
int falg = 0;
try {
if (rs.next()) {
falg = 2;
} else {
sql = "Insert into tb_bookinfo (barcode,bookname,typeid,author,translator,isbn,price,page,bookcase,inTime,operator) values('"
+ bookForm.getBarcode()
+ "','"
+ bookForm.getBookName()
+ "',"
+ bookForm.getTypeId()
+ ",'"
+ bookForm.getAuthor()
+ "','"
+ bookForm.getTranslator()
+ "','"
+ bookForm.getIsbn()
+ "',"
+ bookForm.getPrice()
+ ","
+ bookForm.getPage()
+ ","
+ bookForm.getBookcaseid()
+ ",'"
+ bookForm.getInTime()
+ "','"
+ bookForm.getOperator()
+ "')";
falg = conn.executeUpdate(sql);
System.out.println("添加图书的SQL:" + sql);
conn.close();
}
} catch (SQLException ex) {
falg = 0;
}
System.out.println("falg:" + falg);
return falg;
}
// 修改数据
public int update(BookForm bookForm) {
String sql = "Update tb_bookinfo set typeid=" + bookForm.getTypeId()
+ ",author='" + bookForm.getAuthor() + "',translator='"
+ bookForm.getTranslator() + "',isbn='" + bookForm.getIsbn()
+ "',price=" + bookForm.getPrice() + ",page="
+ bookForm.getPage() + ",bookcase=" + bookForm.getBookcaseid()
+ " where id=" + bookForm.getId() + "";
int falg = conn.executeUpdate(sql);
System.out.println("修改数据时的SQL:" + sql);
conn.close();
return falg;
}
// 删除数据
publicint delete(BookForm bookForm) {
String sql = "UPDATE tb_bookinfo SET del=1 where id="
+ bookForm.getId() + "";
int falg = conn.executeUpdate(sql);
System.out.println("删除时的SQL:" + sql);
return falg;
}
}
// 用于修改的查询
public BookForm queryM(BookForm bookForm1) {
BookForm bookForm = null;
String sql = "select b.*,c.name as bookcaseName,p.pubname as publishing,t.typename from tb_bookinfo b left join tb_bookcase c on b.bookcase=c.id join tb_publishing p on b.ISBN=p.ISBN join tb_booktype t on b.typeid=t.id where b.id="
+ bookForm1.getId() + "";
System.out.println("修改时的SQL:" + sql);
ResultSet rs = conn.executeQuery(sql);
try {
while (rs.next()) {
bookForm = new BookForm();
bookForm.setBarcode(rs.getString(1));
bookForm.setBookName(rs.getString(2));
bookForm.setTypeId(rs.getInt(3));
bookForm.setAuthor(rs.getString(4));
bookForm.setTranslator(rs.getString(5));
bookForm.setIsbn(rs.getString(6));
bookForm.setPrice(Float.valueOf(rs.getString(7))); // 此处必须进行类型转换
bookForm.setPage(rs.getInt(8));
bookForm.setBookcaseid(rs.getInt(9));
bookForm.setInTime(rs.getString(10));
bookForm.setOperator(rs.getString(11));
bookForm.setDel(rs.getInt(12));
bookForm.setId(Integer.valueOf(rs.getString(13)));
bookForm.setBookcaseName(rs.getString(14));
bookForm.setPublishing(rs.getString(15));
bookForm.setTypeName(rs.getString(16));
}
} catch (SQLException ex) {
}
conn.close();
return bookForm;
}
// 用于借阅的查询
public BookForm queryB(String f, String key) {
BookForm bookForm = null;
String sql = "select b.*,c.name as bookcaseName,p.pubname as publishing,t.typename from tb_bookinfo b left join tb_bookcase c on b.bookcase=c.id join tb_publishing p on b.ISBN=p.ISBN join tb_booktype t on b.typeid=t.id where b."
+ f + "='" + key + "'";
System.out.println("查询借阅信息时的SQL:" + sql);
ResultSet rs = conn.executeQuery(sql);
try {
if (rs.next()) {
bookForm = new BookForm();
bookForm.setBarcode(rs.getString(1));
bookForm.setBookName(rs.getString(2));
bookForm.setTypeId(rs.getInt(3));
bookForm.setAuthor(rs.getString(4));
bookForm.setTranslator(rs.getString(5));
bookForm.setIsbn(rs.getString(6));
bookForm.setPrice(Float.valueOf(rs.getString(7))); // 此处必须进行类型转换
bookForm.setPage(rs.getInt(8));
bookForm.setBookcaseid(rs.getInt(9));
bookForm.setInTime(rs.getString(10));
bookForm.setOperator(rs.getString(11));
bookForm.setDel(rs.getInt(12));
bookForm.setId(Integer.valueOf(rs.getString(13)));
bookForm.setBookcaseName(rs.getString(14));
bookForm.setPublishing(rs.getString(15));
bookForm.setTypeName(rs.getString(16));
}
} catch (SQLException ex) {
}
conn.close();
return bookForm;
}
}