面向对象课程设计论文

上传人:ba****u6 文档编号:173615201 上传时间:2022-12-12 格式:DOCX 页数:23 大小:446.98KB
收藏 版权申诉 举报 下载
面向对象课程设计论文_第1页
第1页 / 共23页
面向对象课程设计论文_第2页
第2页 / 共23页
面向对象课程设计论文_第3页
第3页 / 共23页
资源描述:

《面向对象课程设计论文》由会员分享,可在线阅读,更多相关《面向对象课程设计论文(23页珍藏版)》请在装配图网上搜索。

1、西北农林科技大学信息工程学院企业人事管理系统实习报告学 号姓 名专业班级指导教师09108082刘新园计算机083班冯妍完成日期一、综合训练目的与要求11. 训练目的12. 要求1二、综合训练任务11. 任务描述12. 技术路线13. 进度安排1三、总体设计21. 功能设计22. 接口设计4 外部接口4 内部接口43. 补救措施4四、详细设计说明41. 考勤信息管理42. 奖罚信息管理53. 设计思路5五、调试与测试51. 考勤信息管理5 查询结果显示5 插入考勤记录7 删除记录9 更新记录102. 奖罚信息管理11六、实习日志12七、实习总结13八、附录:核心代码清单14一、综合训练目的与要

2、求1. 训练目的一直以来,程序设计实习是学生掌握一门编程语言的必要途径,能够很好的激发学生的创新能 力,也有利于学生全面了解开发系统的各个过程,对于知识的理解也会更加深刻。本次实习是面向 对象编程设计。实习的主要目的包括: 通过训练能够加深对Java的认识,掌握其基本操作,加深对面向对象思想的理解。 对于SWT design运用要能够熟练也可以了解经常用到但是没有学过的组件,掌握利用现有知 识开发程序的基本思路和方法。 能够熟练掌握JDBC技术,了解系统开发的基本流程。 加强团队合作的精神。2. 要求 体现可视化编程的风格,界面尽可能漂亮,操作要尽量简单。 (2)利用面向对象的思想完成系统的开

3、发。二、综合训练任务1. 任务描述我们的任务是企业人事管理系统,包括三个模块,员工管理、工资管理和业绩管理,员工管理 任务比较多而且繁重,由两个人完成,工资和业绩管理分别由一个同学完成,另外一个同学设计数 据库,根据我们的需要更改数据库的内容。我做系统中考勤信息和奖罚信息的管理,主要包括信息的编辑和查看,能通过按钮或者是工具 栏展示功能,要添加相应的监听事件,而且对于违法操作要有相应的提示信息。各个界面之间能够 很好的衔接到一起。待各个模块设计完成之后,我负责将各个部分综合到一起,最后来完成系统的 整体测试。2. 技术路线设计过程中用到的技术包括SWT可视化界面,远程访问服务器的mysql数据

4、库,使用JDBC技 术完成mysql与java程序的结合,完成系统的设计。综合各个模块时,在征求原始创建人同意的情 况下,统一各个模块代码和界面设计的风格,使系统能不断完善。3. 进度安排进度安排如下:7-5:功能的大体设计,包括功能描述,以及对于过程中会用到的知识的复习。、7-67-7:完成考勤信息的添加、修改、删除和查询;7-87-9:完成奖罚信息的添加、修改、删除和查询;7-107-11:正常公休;7-127-13:完成各个模块的综合,调试,统一设计风格;7-147-15:撰写课程设计论文,随时修改程序,不断完善;7-16 :答辩三、总体设计1功能设计我的任务大体也可以分为两个小模块,即

5、考勤管理和奖罚管理。总体功能如下图所示:奖罚管理考勤管理插入奖罚信息删除奖罚信息修改奖罚信息删除奖罚信息查看奖罚信息插入考勤信息删除考勤信息修改考勤信息删除考勤信息查看考勤信息图1功能模块图两个小模块功能比较相似,而且都会放到一个单独的界面去实现。对于考勤信息管理,有一个 公共的管理界面,可以调度到各个功能界面如图2所示,而对于奖罚信息的管理,则将显示界面作 为主界面,上面承载着其他功能的处罚按钮,如图3所示。做之前我们商量好,主界面中要有跟其他功能连接的接口,以便于最后将各个模块放到一起。 我做的这两个都属于业绩管理的范畴,所以我要做一个界面,能够和主界面相连,而且还可以分别 链接到这两个子

6、功能模块。实质上各个功能模块是不会相互干扰的,这样写起来都比较方便,只是 有一点比较麻烦,mysql中好像没有办法设置外键,这样,我们在进行增删改的时候就要兼顾着要考 虑外键了。不过我想用程序来控制应该也不会很难的,所以最后还约定好,一定要用程序来约束界 面操作,保证数据的完整性。同时,我还提醒大家,要注意事务的完整性,要记得哪些地方该用到 事务的完整性,保证数据库中数据的安全性和正确性。考勤信息管理查看考勤弗加记录图2考勤信息管理主界面修改记录图3奖罚信息管理主界面2. 接口设计 外部接口该系统界面比较清晰,从各个功能界面均可回到主界面。 内部接口远程访问数据库,实现数据的共享,动态更新数据

7、库,完成各个模块之间的联系。我要访问的 包括请假条信息表和考勤表,要用到员工信息,所以员工信息的修改也会对我最后要显示的数据造 成影响。数据共享便使得可以保证数据库不断保持更新。3. 补救措施信息提示:主要包括无数据输入、输入数据不合法、输入的数据不足以完成某些处罚事件等, 都会用对话框来进行提示,然后退出操作。对于正确的操作,也会用对话框来提示操作完成的信息。 具体的形式如调试与测试中的截图。四、详细设计说明1考勤信息管理该模块又包括了数据的添加、修改、查看和删除,操作的步骤基本一致,下图以添加信息为例, 展示了操作的基本步骤。图4添加考勤信息流程对于查看信息,是用一个table来实现的,如

8、果查询的月份没有记录,就会给出相关的提示。但 是缺点就是只能查询一次,后面再进行查询的时候无法刷新。删除信息是按条件来进行的,可以按照时间查询,也可以按照员工编号查询,当然也可以按照 时间编号查询(当然这样肯定至多有一条记录),选择的时候也进行了对违法操作的处理,用户可以 根据提示来完成相关操作。2奖罚信息管理奖罚信息包括信息的查看、删除、修改和添加。与考勤信息不同的是,设计思路上有所改变, 该模块摒弃了考勤中查询的概念,设计成了直接显示所有信息(用table显示)。如图3-3所示。为 了便于显示,我添加了一个刷新按钮,因为表格无法编辑是最大的障碍,而且无法让它自己来清除 以前的信息,添加刷新

9、功能是通过链表来记录奖罚单的编号,每一次都要检查内容有没有在链表中, 如果没有则添加进去,但是这个刷新只能刷新刚添加的信息。对于修改和删除都是直接将这个显示 隐藏,待修改或者是删除完成后,直接回到了显示界面。这样可以方便的查看功能的完成情况。3. 设计思路面向对象要求将方法抽象出来,只进行调用。但是在有些情况下,这样做要处理的异常就会少 了一些。所以,我一部分用了功能是通过调用函数来实现的,还有一部分功能就是直接在界面的设 计过程中完成的函数。包括一个DBconnect类,是专门用于数据库的连接和关闭的,凡是涉及到来连接数据库的一律 来调用这个类。专门设计这个类是为了实现代码的重用。而且为了保

10、证数据库打开了要随时关闭, 调用这个类也是很安全的。这个类的使用也确实带来了很多的好处,每次如果服务器换了,只需要 改变一个地方,代码就可以正常运行了。类Attend,用于封装关于考勤中的一些信息,但是不全,因为设计的初衷只是为了能够用一个 链表来存放查询出来的所有记录。类Operate,封装的是关于考勤中删除、添加和查看的方法,只是为了顺应面向对象的概念而已, 也没有发现跟设计放在一起有多大的区别。其他的方法就和界面放到了一个地方,因为这样使用起来比较方便,而且处理异常也很灵敏, 不用考虑那么多的因素。五、调试与测试1考勤信息管理查询结果显示这部分使用边个来显示的。如果点击图2中的“查看考勤

11、”按钮,会直接进入查询界面,如图 5所示。查看2010iHi员工编号员工姓名1实到天数请假天数1备注1返回图5用图表显示查询结果在年月的选项中选择相应的日期,如果没有结果会给出提示,否则会直接显示如图5-3,图5-4所示。_3i 3 I: 查询 ,_员工编号步工姓_实到天数请假天数管注x设有记录确定图6没有记录的情况图7有结果可显示的情况但是,该表格无法刷新,无法编辑,只支持一次查询,如果重复查询,每次结果会累积,这是一个 不足之处。目前也没有找到比较合理的解决方法。插入考勤记录点击图2的“添加记录”会进入添加记录的页面。如果输入的用户编号不是整型(如图8),或者是 无效的(如图9),都会给出

12、相应的提示。而且如果“实到天数”中添加的不是整型数据(如图8) 会有提示信息,超过了 31天也会给出提示(如图10)。员工编号:年:月:实到天数:,备注:ytutghjgh图8输入格式不正确的数据员工编号:年:月:实到天数:备注:2016 Vghjgh图9输入用户编号无效图10天数不符合实际因为每个月每个员工至多只能有一条记录,所以如果要想一个月有关于某个员工的两条记录是不可 能的。提示结果如图11所示。员工编号:月:实到天数:备注:图11已有记录员字号:年:阿。月:ii实到天数:26备注:全勤,且加班一天图12插入成功提示如果添加成功也会有如图12所示的提示,然后点击返回,可以回到考勤信息管

13、理的主界面。 删除记录进入删除界面后,三个条件都是不可以编辑的,只有选择了条件之后才可以编辑。点击时间之后,年份和月份便成为可以编辑的了。选择要查询的时间,便会有相应的运行结果。如果存在要删除的数据,则会出现图14所示的运行结果。如果没有符合条件的记录,也会给出相应 的提示信息。点击综合之后,三个都是可编辑的了,输入条件,运行结果如图15所示。对于没有 删除数据或者是输入异常的,因为篇幅有限,就不再重复了。 更新记录图16所示为存在记录,且输入无违法数据的执行结果。对于输入有错或者是无记录的,都会像 上面的几个功能一样,会有相应的提示。只是,这个必须要先输入查询条件,查询之后下面三项才 会成为

14、可编辑的。员工磐号年:2010查询员工姓名:园新园实到天数:24备注:工作认真.,勤勤恳恳图16更新记录执行结果2.奖罚信息管理因为这两个模块中对于无记录和输入违法数据的处理方式是一样的,提示信息也相同,所以, 下面将只演示正确的运行结果。如图3所示,奖罚管理的主界面就是一个显示所有奖罚信息的表格,其他功能按钮也都在这个 界面上。图17所示为修改记录的运行结果,与考勤信息中的设计思想是一样的。查询完之后才可以修改。点击更新之后会直接返回如图3所示的主界面,此时显示的将会是最新的信息。删除记录与更新记录是一样的,其实是可以写到一个界面上的,但是那样按钮会多一些,还是 放在不同的界面来完成吧。添加

15、信息后可以点击刷新,会自动增加刚添加的数据。这个界面没有让直接返回主界面,为的 是展示刷新的作用。六、实习日志2010-7-5:今天是第一天,感觉挺新鲜的。组长根据大家的选择,衡量每个人的能力,很快就把任务分完 了,并且我们开始自己分析任务的实施方案及进度安排。因为数据库还没有做好,所以我能做的也 就是想想会用到什么技术,怎样设计界面。已经确定是用java和mysql来做了。下午的时候,数据 库已经做得差不多了,我们已经可以连接到主服务器去访问数据了,只是因为业务比较多,数据库 会随着我们的需要不断作调整。2010-7-6不知道为什么,突然感觉任务很紧。因为开始的时候忽略了一些细节,现在突然问

16、题不断,赶 紧把进度重新调整了一下,把任务时间放长了一些。我怕要是真的没有按进度完成可就会影响到整 体的进度了。因为要访问服务器,要是老是去问做数据库的同学一些细节,实在是太麻烦了,我想 到以前听说过可以在lombozeclipse查看数据库的内容,而且在现在用的eclipse可以看到database explore标志,我想应该行吧。试了一下,结果还不错,我就赶紧告诉了同组的同学,这样大家就方 便了许多,做数据库的同学也不用一遍一遍去解释了。以前没怎么接触过那么长那么混乱的代码, 所以如果出了错就很头痛,那么长要想找错实在是太难了。不过幸好都差不多的内容,对JDBC我 也是很有信心,倒是可以

17、查出来,不过很让人烦。我最放在心上的就是,打开了一定要关闭。我虽 然没有碰到过不关的后果,但是,老师们都特别强调其重要性,那我也就很小心的记下了。2010-7-7为了要将要查看的内容全部显示出来,我正在想用什么方法来实现。想到过Table,但是我从来 没有试过,先放一边吧。那就让它有个向上向下的的按钮,可以一直往下去查询,那既然要可以向 上也可以向下,而ResultSet只能向下指,所以还是把它放到一个数组中把,方便用索引值来控制要 显示项编号。当然想想这样做也确实不是很科学,提前开辟空间,说不准就会遇到越界的危险,即 使不越界,也会有空间的浪费。上午基本上把删除和查看全都做好了,剩下的是修改

18、和删除了。应该差不多的,所以我想把这 两个任务写到一个界面里面,可以方便一些。想是一回事,做又是一回事,总感觉把两个业务写在一起会使程序混乱,所以,我决定还是分 开来实现。因为有前边两个的基础,做起这两个来轻松了一些,基本功能算是实现了。2010-7-8老师来检查进度的时候,把我所有有疑问的地方都给提出来了,因为这些在设计方面确实不是 最优的,比如说多条结果应该用Table 了,对于输入的信息,因为数据库没有做相应的表间联系, 就要在程序中加以限制等。老师一句话让我有晴天霹雳的感觉:“你看看要不重做吧!”我三天的劳 动成果啊,就这样被否定了。我分析了一下,时间有限,我的任务还有很多,重写是不可

19、能的了, 只能是来优化。上午老师给我找了个同学来教我Table的用法,我看了一下,挺简单的,就回来做, 可是弄了很长时间,就是只能显示不能编辑。下午同样尝试了很长时间,可是依然是没有结果,算了,既然这样,那我就只好把其他功能分 开写了,也只能这样了。而且,其他几个功能中,将年月的选择给限制了,对于外键也完成了程序 查找和限制。这个考勤暂告一段落,要开始下一个任务,奖罚信息的相关操作了。2010-7-9今天开始尝试着写奖罚情况的功能,我现在想尝试着用不同的方式来实现我想要的功能。但是很 失望的是,因为一方面是考虑的因素太多,受到的限制也是挺多的。另一方面就是因为同学来找我, 因为前几天我给他说过

20、不用数据结构而是用数据库中的数据通过递归算法来实现。现在他攒了一大 堆的疑问来问我。我只是见过别人用过这个算法来解决类似的问题而已,自己也从来没有实地的做 过。他问我,我也不敢肯定我说的到底对不对,能不能行得通。只能是用事实来说话。我们一边商 量着,我一面解释着我的思路,弄了一个多小时,终于算是搞定了。但是,我的思路却被打断了, 做的时候挺慢的。不过还算可以吧,因为不想老是翻工了,一气呵成就算了吧。下午我把所有的功能都放到了一个面板上,因为我一直觉得那样做不安全,所以设了不少的限 制,可以让自己的数据库尽量安全。限制还剩下删除一点没写,关于修改还剩一些扫尾工作。2010-7-12因为周六日加了

21、一天的班,基本上把进度赶上了。今天把几个人的程序综合到了一起,当然大 体上还是差不多的,把数据库的连接都用一个类来完成,操作的模式统一了。还有就是做了一些小 地方的优化。如果可以用下拉框或者是日期组件的尽量用,如果操作不了,那也没有办法,只能按 照最原始的办法来处理。2010-7-13早晨又把代码检查了一遍,凡是能进一步完善的,我都尽量去做,结果把DateTime组件还有单 选按钮、下拉框全都加了进来,对于几个控件是有些陌生的。在swing中倒是学过,可是那里面的 函数与SWT里面的都不一样,重新去找真的好费时间啊!开始时是我自己在做,可是因为界面上的 控件有些多,而我不是负责这个功能实现的,

22、看那些组件就头晕,可是又没有人愿意来帮我,大家 都在写论文了。也许我们进度有些慢了,好多组都在写论文了,而我们这里程序还有问题。我也有 些着急,可是总不能不管程序直接去写论文啊?最后组长一直安慰我,其实我也慢慢意识到是因为 不知道那几个组件怎么用才耍脾气的。想想真对不起大家,但是又不好意思道歉,只能化愧疚为力 量,来完善我们的系统了。下午差不多把界面设计好了,只是还有几个地方设计不是很合理,尽量调试吧。把所有图片的 地址都改成了相对地址了,这样虽然不能预览,但是运行的时候还是很好的2010-7-14开始写论文了,又是总体设计详细设计的,恨没有办法把自己的想法用文字还有图片表现出来。 也是尽量在

23、网上搜索一些模板,但是帮助很小,还得靠自己想了。下午感觉几个地方不太对劲,开始去修改一些异常,老师还有好几个同学都说我,什么时候了, 还不赶紧写论文。我就是紧不起来,如果程序我不满意的话,我也没有心情写论文了。改了2个小 时,不想改了,还是要继续写论文了,把我的想法展示出来。2010-7-15今天是实习最后一天了,也是论文和程序定型的时候。昨天晚上想到处理日前控件不显示正确 结果的办法了。一会儿也改完了。还有很多地方可以完善,时间不够了,只能是做什么样算什么样 子了。老师又提到了面向对象的概念,我方才想到,我只有一个模块是真正用到了面向对象的知识, 因为要处理的情况太多,都抽象到一个类总是感觉

24、处理不了那样的情况。七、实习总结这次实习用到的大多是JDBC和SWT中的知识。好多同学用的都是Swing,因为SWT没有怎 么讲过。不过用了这两周确实发现,SWT和swing还是有很多区别的。像我遇到的最大问题就是table 不可编辑,但是听说JTABLE就好操作的很。但是,table有它自身的有点,它会自动增加滚动条。 不过,实习中也确实在尝试着使用我从来没有用过的组件。像用过messagebox,可是那个弄出来太 “简陋”了,我不知道怎么样来“打扮”它。但是还有像datetime组件,我没有办法让它显示理想 的数据,只能想别的办法来弥补这个缺点,这样势必会影响到功能的实现。遇到问题要积极的

25、去寻找解决方案,不能怨天尤人,这是我一直以来经常对自己说的一句话。 这次也是一样。因为代码比较多,比较乱,开始遇到错误的时候老是发怵,后来也习惯了,而且发 现每次就那几个错误,慢慢每个错误我都想到了不错的解决方案。最不怕看见的就是出错信息了。 我不能保证我的代码是很好的,但是我可能保证其功能是齐全的,安全性和可行性方面我也下了很 大的力气去完成。不过,在界面布局方面我可不得不承认是外行了。不知道该怎样做才能既可以使界面漂亮,又 不会喧宾夺主,把人们的注意力分散。两周以来准时上下班,日子过的忙碌而充实,这样挺好的,比上课可好多了。把自己所学的知 识展示出来,确实不错。这样的实习意义挺大的,不过要

26、是能少一些书写报告之类的,多放些经历 在操作上就更好了。总之,两周以来,我们算是工作认认真真吧,虽然做出的系统还是有很多缺点,但是这两周我 们已经尽心尽力在做了。八、附录:核心代码清单Attend.javapackage beans;public class Attend public int id;/编号public String name;/姓名public int actual; 出勤天数public String note;/评估public int takeoff;/ 请假天数public Attend(int id, String name, int actual, String

27、note, int takeoff) super();this.id = id;this.name = name;this.actual = actual;this.note = note;this.takeoff = takeoff;DBconnect.javapackage database;import java.sql.*;/* *该类完成的是数据库的连接和关闭,因为每个操作都会使用到数据库的开和关,为了使代码 可以复用,把这个专门封装成一个类,以方便其他类*直接进行调用* */public class DBconnect public Connection conn = null;p

28、ublic DBconnect()try Class.forName(com.mysql.jdbc.Driver);String url = jdbc:mysql:/192.168.4.43:3306/test;conn = DriverManager.getConnection(url,root”,123”); catch (ClassNotFoundException e) e.printStackTrace();catch(SQLException e)e.printStackTrace();public void closeDB()if(conn!=null)try conn.clos

29、e(); catch (SQLException e) e.printStackTrace();Operate.javapackage attendance;import database.DBconnect;import java.sql.*;import org.eclipse.swt.SWT; import beans.Attend;public class Operate DBconnect db ;PreparedStatement pstmt;ResultSet rs ;public Operate()db = new DBconnect();pstmt = null;rs = n

30、ull;public ResultSet query(int year,int month)String sql =select * from attendance where year =? and month =?;try pstmt = db.conn.prepareStatement(sql);pstmt.setInt(1, year);pstmt.setInt(2, month);rs = pstmt.executeQuery(); catch (SQLException e) / TODO Auto-generated catch blocke.printStackTrace();

31、 return rs;public int insert(Attend att,int year,int month)int id = att.getId();int flag = 0;try Statement stmt = db.conn.createStatement();ResultSet rrs = stmt.executeQuery(select * from emp_info where id=+id);if(rrs.next()String sql =select * from attendance where id =? and year =? and month=?;pst

32、mt = db.conn.prepareStatement(sql);pstmt.setInt(1, id);pstmt.setInt(2, year);pstmt.setInt(3, month);ResultSet srr = pstmt.executeQuery();if(!srr.next()pstmt =db.conn.prepareStatement(insert into attendance(aid,id,year,month,actual,notes) values(null,?,?,?,?,?);pstmt.setInt(1, id);pstmt.setInt(2, yea

33、r);pstmt.setInt(3, month);pstmt.setInt(4, att.getActual();pstmt.setString(5, att.getNote();pstmt.executeUpdate();flag =3;/插入成功elseflag = 2;/该月的考勤已经存在了srr.close();elseflag = 1;/输入的用户编号无效stmt.close();rrs.close(); catch (SQLException e) / TODO Auto-generated catch blocke.printStackTrace();return flag;p

34、ublic String delete(int id,int method,int year,int month)String flag =;if(method = 1)String sql =delete from attendance where year=? and month = ?; try pstmt = db.conn.prepareStatement(sql);pstmt.setInt(1, year);pstmt.setInt(2, month);int count =pstmt.executeUpdate();flag +=共删除了 +count+行数据”; catch (

35、SQLException e) / TODO Auto-generated catch blocke.printStackTrace();else if(method = 2)String sql =delete from attendance where id=?;PreparedStatement pstmt;try Statement stmt = db.conn.createStatement();String sqql =select * from attendance where id =+id;ResultSet ff = stmt.executeQuery(sqql);if(f

36、f.next()pstmt = db.conn.prepareStatement(sql);pstmt.setInt(1, id);int cou = pstmt.executeUpdate();flag +=共有+cou+条数据被删除;elseflag+=无此条数据可删除”;stmt.close();ff.close(); catch (SQLException e) / TODO Auto-generated catch blocke.printStackTrace();else if(method = 3)String sql =delete from attendance where

37、id=? and year=? and month = ?;PreparedStatement pstmt;try Statement stmt = db.conn.createStatement();String sqql =select * from attendance where id =+id;ResultSet ff = stmt.executeQuery(sqql);if(ff.next()pstmt = db.conn.prepareStatement(sql);pstmt.setInt(1, id);pstmt.setInt(2, year);pstmt.setInt(3,

38、month);int count = pstmt.executeUpdate();flag +=共有+count+条记录被删除”;elseflag+=数据库中不存在符合条件的数据可以删除; catch (SQLException e) / TODO Auto-generated catch block e.printStackTrace();return flag;public void clo()tryif(rs!=null)rs.close();if(pstmt!=null)pstmt.close();db.closeDB();catch(SQLException e)e.printSta

39、ckTrace();下面是刷新功能的一部分代码:DBconnect db = new DBconnect();Statement stmt = null;ResultSet rs = null;String sql = select * from rewards order by time;try stmt =db.conn.createStatement(ResultSet. TYPE_SCROLL_INSENSITIVE ,ResultSet. CONCUR_UPDATABL E);rs = stmt.executeQuery(sql);while(rs.next()Integer aaa

40、 = new Integer(rs.getInt(1);if(!list.contains(aaa)list.add(aaa);/每次先看将罚单编号有没有在链表中,如果没在,就显示,然后加入到链表中Statement sstmt = db.conn.createStatement();ResultSet rrs = sstmt.executeQuery(select name from emp_info where id=+rs.getInt(id);rrs.next();TableItem item = new TableItem(table,SWT. None);item.setText(

41、 newStringrs.getInt(1)+,rs.getDate(3)+,rrs.getString(1),rs.getString(4),rs.getString(5);rrs.close();sstmt.close(); catch (SQLException e1) / TODO Auto-generated catch blocke1.printStackTrace();finallytryif(rs!=null)rs.close();if(stmt!=null)stmt.close();catch(SQLException e1)e1.printStackTrace();、注意数据库一定要关闭 db.closeDB();

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!