学生信息管理系统java课程设计报告

上传人:r****d 文档编号:125553320 上传时间:2022-07-27 格式:DOC 页数:13 大小:82KB
收藏 版权申诉 举报 下载
学生信息管理系统java课程设计报告_第1页
第1页 / 共13页
学生信息管理系统java课程设计报告_第2页
第2页 / 共13页
学生信息管理系统java课程设计报告_第3页
第3页 / 共13页
资源描述:

《学生信息管理系统java课程设计报告》由会员分享,可在线阅读,更多相关《学生信息管理系统java课程设计报告(13页珍藏版)》请在装配图网上搜索。

1、Java面向对象程序课程设计报告-学生信息管理系统姓名:刘杏娟 专业:信息管理与信息系统 班级:1130601 学号:202130060117 指导老师:司红伟2014/6/24前 言随着计算机科学的开展,数据库技术在Internet中的应用越来越广泛,为广阔网络用户提供了更加周到和人性化的效劳。个性化已逐渐成为当今Web应用的潮流。本课程设计研究了一种基于数据关联规那么的网络学生信息管理系统,此方案与现今网上已采用的一些方案相比,具有用户使用更简单、界面更直观等优点。在设计中我们发现这样一个事实,一个用户或管理员在登陆这个网站时一般来讲只对该网站的局部内容感性趣,而且这种兴趣会持续一段时间。

2、这点启发了我们,如果能根据用户活管理员的喜好为不同的用户显示其个性化的页面,即着重显示该用户感兴趣的内容,将为用户节约大量的检索时间,而且这样的网页显然是更具有吸引力的。一些站点已经在这方面作出了一定的尝试,通常采用的方法是,在用户登陆时为其提供一系列的选项,使用户能够对站点进行一些自主的设置。这样做能够使站点呈现一定程度的个性化,但是对用户来讲,还是比拟烦琐,而且在用户了解一个站点前让其对站点进行设置,其结果未免有些粗糙。于是我们设想了这样一种方案,对用户登陆后的动作进行跟踪,分析,开掘用户点击的规律,即用户先后点击的关联规那么,这样,在用户点击一个主题链接之后,系统能够自动生成一页面,其中

3、包含了该主题下用户经常关注的内容假设干链接,这样便在无须用户作出任何额外工作的情况下实现了为用户量身订做的个性化页面。要实现这样的功能,离不开后台数据库的支持。管理员验证信息,收集到的用户点击信息,主题层次信息,分析得出的关联规那么表等大量的数据都由数据库管理系统管理。本文中数据库效劳器端采用了SQL Server 2000数据库作为ODBC(Open DataBase Connectivity )数据源,并以先进的JDBC-ODBC桥接技术进行数据库存取等操作,使Web与数据库紧密联系起来。整个个性化页面生成系统主要由使用Dreamweaver_MX开发的关联规那么采掘系统和利用JSP技术实

4、现的个性化Web页面生成器两局部组成。关联规那么采掘系统对数据库中的历史记录进行分析,产生用户关联规那么表;页面生成器那么负责记录管理员的行为动态生成管理员个性化Web页面。二者通过数据库效劳器和Web效劳器连接。一、 系统描述:1、设计目的本程序用于用户对少量学生信息进行简单的管理,本程序针对于对平安系数要求不高,操作不是很复杂的小型客户开发。本程序可以实现对学生信息的录入、查询、修改、删除等操作,同时支持查看所有学生信息,功能完善,界面简洁美观,布局合理,操作简便,简单易用,任何人可轻松操作。同时,本程序对系统要求配置较低,运行速度快,而却对数据库管理要求较低。本程序数据库采用SQL se

5、rver2005进行数据存储,该数据库可实现关系较为简单的数据管理。2、需求分析利用计算机进行学生信息管理,不仅能够保证准确、无误、快速输出,而且还可以利用计算机对有关信息进行查询,检索迅速、查找方便、可靠性高、存储量大、保密性好。要科学地实现信息化管理,开发一个适合学校的,能够进行信息存储、查询、修改等功能的信息管理系统是十分重要的。我这次的课题就是设计与实现一个学生信息管理系统。3、设计任务要求该学生信息管理系统的设计要求主要有以下几点:(1)使用图形用户界面;(2)用数据库建立几个学生信息表; (3)能连接数据库并实现对学生信息查询、增、删、改等功能。4、系统主要包括以下几项功能:(1)

6、添加学生信息;(2)查询学生信息;(3)删除学生信息;(4)修改学生信息。5、界面构建 1、为了便于各种操作,软件采用多窗口的模式。用户可在不同窗口进行相应操作录入、查询、修改、删除、显示所有学生信息。 2、主窗口是用户进行各种操作的平台,具体操作在各个独立功能窗口中完成。 3、主窗口的主要功能位于菜单中,菜单为进入各个功能窗口的唯一通道。 4、当用户在进行个别录入、删除或错误输入操作时,会弹出相应对话框提示用户。5、界面布局尽量合理,各组件位置分布均匀美观。二、课程设计内容:1、 数据库系统简介数据库系统是一个信息核心,也是任何企业单位非常重视的运营主体。但随着科技的进步,多元化的需求,促使

7、数据库扮演的角色愈来愈复杂,也愈来愈重视数据库系统相关程序开发工具的简便及性能。由于java的特性,对这方面需求能够发挥相当多的优势,因而java系统的应用越来越多。JDBC是java与数据库连接的一项标准,用于提供统一的SQL语言的关系数据库系统访问接口,与Java应用的相关程序取得数据库连接之后,便可依照SQL语言去执行各项语句命令的运行。2 、JDBC数据库连接Java数据库连接体系结构是用于Java应用程序连接数据库的标准方法。JDBC对Java程序员而言是API,对实现与数据库连接的效劳提供商而言是接口模型。作为API,JDBC为程序开发提供标准的接口,并为数据库厂商及第三方中间件厂

8、商实现与数据库的连接提供了标准方法。JDBC使用已有的SQL标准并支持与其它数据库连接标准,如ODBC之间的桥接。JDBC实现了所有这些面向标准的目标并且具有简单、严格类型定义且高性能实现的接口。目前比拟常见的JDBC驱动程序可分为以下四个种类:1JDBC-ODBC桥接ODBC驱动程序利用ODBC驱动程序提供JDBC访问。注意,必须将ODBC二进制代码许多情况下还包括数据库客户机代码加载到使用该驱动程序的每个客户机上。因此,这种类型的驱动程序最适合于企业网这种网络上客户机的安装不是主要问题,或者是用Java编写的三层结构的应用程序效劳器代码。2本地API半Java驱动程序这种类型的驱动程序把客

9、户机API上的JDBC调用转换为Oracle、Sybase、Informix、DB2或其它DBMS的调用。注意,象桥驱动程序一样,这种类型的驱动程序要求将某些二进制代码加载到每台客户机上。3JDBC-NET纯Java驱动程序这种驱动程序将JDBC转换为与DBMS无关的网络协议,之后这种协议又被某个效劳器转换为一种DBMS协议。这种网络效劳器中间件能够将它的纯Java客户机连接到多种不同的数据库上。所用的具体协议取决于提供者。通常,这是最为灵活的JDBC驱动程序。有可能所有这种解决方案的提供者都提供适合于Intranet用的产品。为了使这些产品也支持Internet访问,它们必须处理Web所提出

10、的平安性、通过防火墙的访问等方面的额外要求。几家提供者正将JDBC驱动程序加到他们现有的数据库中间件产品中。4本地协议纯Java驱动程序这种类型的驱动程序将JDBC调用直接转换为DBMS所使用的网络协议。这将允许从客户机机器上直接调用DBMS效劳器,是Intranet访问的一个很实用的解决方法。由于许多这样的协议都是专用的,因此数据库提供者自己将是主要来源,有几家提供者已在着手做这件事了。据专家预计第3、4类驱动程序将成为从JDBC访问数据库的首方法。第1、2类驱动程序在直接的纯Java驱动程序还没有上市前会作为过渡方案来使用。对第1、2类驱动程序可能会有一些变种,这些变种要求有连接器,但通常

11、这些是更加不可取的解决方案。第3、4类驱动程序提供了Java的所有优点,包括自动安装例如,通过使用JDBC驱动程序的appletapplet来下载该驱动程序。3 、建立JDBC连接步骤数据库连接对动态网站来说是最为重要的局部。很多数据库系统都带有JDBC驱动程序,Java程序就通过JDBC驱动程序与数据库相连,执行查询和提取数据等。Sun公司还开发了JDBC-ODBC bridge,用此技术,Java程序就可以访问带有ODBC驱动程序的数据库,目前大多数据库系统都带有ODBC驱动程序,所以Java程序能访问诸如Oracle、Sybase、MS SQL Server和MS Access等。在本系

12、统中采用的是SQL Server 2000,利用JDBC-ODBC桥接将jsp与数据库连接,主要的数据库连接步骤如下:首先,建立一个SQL Server数据库,其中设计了两个表:学生信息表aa,用户表b,在学生信息表中保存有学生的姓名、学号设为主键、性别和照片因为我们在设计系统时,主要考虑实现通过前台浏览器对数据库中学生的根本信息进行管理,所以我们在数据库中只保存了学生的一般信息,没有对学生资料更好的进行归类,但是主要的编程思想都是一样的,用户管理表中保存有管理员的用户名和密码,管理员需要通过密码验证才能进入管理员主界面。然后,在Control Panel(控制面板)的ODBC Datasou

13、rce 模块中,参加System DSN, 取名为xf,并指向test.mdb。最后,创立JSP程序访问数据库。在Java中,关键的java.sql、javax.sql等类库,提供了JDBC相关及接口程序,因为JDBC是执行SQL的标准应用程序接口标准,所以如何建立一个使用JDBC的应用程序,除应了解前述概念外,还有几个简单而重要的步骤需要掌握。下示为一个JDBC程序,关键局部对应的步骤说明与语句范例。 步骤说明 语句范例 引进所要的JDBC package import java.sql.*;新建适用的JDBC驱动类程序Class.forName(“sun.jdbc.odbc.JdbcOdb

14、cDriver);通过JDBC URL取得数据连接Connection conn=DriverManager.getConnection(jdbc:odbc:xf)建立SQL语句对象Statement stmt=conn.createStatement();执行SQL语句及接收返回结果resultSet rs=stmt.executeQuery(“SELECT * FROM ); 至此可利用返回结果进行相关程序设计 关闭查询结果集ResultSetrs.close();关闭SQL语句连接Stmt.close();关闭数据库连接Conn.close();数据库界面图:4、代码局部界面局部代码:p

15、ackage info;import javax.swing.*;import java.awt.*;import java.sql.*;public class jiemian extends JFrame JLabel jlnumber,jlname,jlsex,jlage;JTextField jtfnumber,jtfname,jtfsex,jtfage,textInput,textShow;JButton jbok,jbcancel,jbzengjia,jbxiugai,jbshanchu,jbchazhao;public static void main(String args)n

16、ew jiemian();public jiemian()init();data();void init()this.setBounds(500,520,200,300);this.setVisible(true);this.setTitle(学生信息管理界面);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); jlnumber=new JLabel (学号); jlname=new JLabel (姓名); jlsex=new JLabel (性别); jlage=new JLabel (年龄); jtfnumber=new JText

17、Field(12); jtfname=new JTextField(12); jtfsex=new JTextField(12); jtfage=new JTextField(12); jbok =new JButton(确定); jbcancel =new JButton(取消); jbzengjia=new JButton(增加); jbxiugai =new JButton(修改); jbshanchu =new JButton(删除); jbchazhao =new JButton(查找); JPanel jp=new JPanel(); jp.add(jlnumber); jp.ad

18、d(jtfnumber); jp.add(jlname); jp.add(jtfname); jp.add(jlsex); jp.add(jtfsex); jp.add(jlage); jp.add(jtfage); jp.add(jbzengjia); jp.add(jbshanchu); jp.add(jbxiugai); jp.add(jbchazhao); jp.add(jbok); jp.add(jbcancel); this.add(jp); void data() Connection con; Statement sql; ResultSet rs; try Class.for

19、Name(sun.jdbc.odbc.JdbcOdbcDriver); catch(ClassNotFoundException e)System.out.print(e); trycon=DriverManager.getConnection(jdbc:odbc:xin,);sql=con.createStatement();rs=sql.executeQuery(SELECT * FROM 学生信息表);while(rs.next()String number=rs.getString(1);String name=rs.getString(2);String sex=rs.getStri

20、ng(3);int age=rs.getInt(4);jtfnumber.setText(number);jtfname.setText(name);jtfsex.setText(sex);jtfage.setText(age+); con.close(); catch(SQLException e)System.out.println(e); 增删改查局部代码:package info;import java.sql.*;import java.util.*;public class zengjia public static void main(String args)ModifyTabl

21、e modify=new ModifyTable();modify.setDatasourceName(xin);modify.setSQL(UPDATE 学生信息表 SET 年龄=21 WHERE 姓名=里尔);String backMess=modify.modifyRecord();System.out.println(backMess);modify.setSQL(DELETE FROM 学生信息表 WHERE sno=202102);backMess=modify.modifyRecord();System.out.println(backMess);modify.setSQL(IN

22、SERT INTO 学生信息表 VALUES(202103,看看,20,女);backMess=modify.modifyRecord();System.out.println(backMess);class ModifyTableString datasourceName=;String SQL,message=;public ModifyTable()tryClass.forName(com.microsoft.sqlserver.jdbc.SQLServerDriver);catch(Exception e)public void setSQL(String SQL)this.SQL=S

23、QL;public void setDatasourceName(String s)datasourceName=s.trim();public String modifyRecord()Connection con=null;Statement sql=null;try String uri=jdbc:odbc:+datasourceName; String id=; String password=; con=DriverManager.getConnection(uri,id,password); sql=con.createStatement(); sql.execute(SQL);

24、message=操作成功; con.close();catch(SQLException e)message=e.toString();return message;三、心得体会 做课程设计让我对java有了新的认识,首先我接触了很多上课见过见过但没有实际用过的类和方法,让我对编程有了许多新的思想。大一学了C语言,虽然当时学的还不错,由于学的都是入门知识,所以自己做的都是DOS下执行的程序,虽然可以实现一定的功能,但和自己平时用的软件相差很大。这学期刚开课学java感觉没什么新鲜感,它的跨平台特性也只是听听,根本没有认识,知道学到第七章图形界面用户编程的时候,我发现学会之后自己可以做出来的软件

25、就更接近平时使用的软件了,不过由于平时学习不刻苦,到时没有时间静下心来写java代码,知道做课程设计,才静下心来开始研究java,结合以前的编程知识,做起了自己的程序。我曾经用c语言做过这个系统,做起来会比拟熟练,同时想通过做课设学习一点数据库的知识,感觉这些知识更贴近实际应用,选好之后开始准备课设,先从最简单的主窗体,到主窗体的菜单,组件添加,再到各个功能的独立窗体的建立,再到最后的数据库连接,功能的实现,一步步走来,收获颇多。其中独立窗体中的组件排版是碰到的第一个问题,最简单的方法是在建每个窗体时把所有需要的组件全部重新添加进去,但是这样代码会很长,而却会多占很多内存空间,于是我决定把个功

26、能窗体中共同的组件在一个新方法中统一加载,为了减小占内存空间,组建的在主类的构造方法中生成,所有独立功能窗口公用组件,这样既减少了代码额长度,又提高了程序的内存利用率。还有很多问题,都在权衡之后得到了较优的解决方法。它能够使这次课设还让我对java的跨平台性有了进一步认识,当我学好代码兴致勃勃的想把它做成exe可执行文件时,在网上搜索之后发现它似乎很难实现,就是应为它的java语言的实现机制,通过jre来执行执行java代码,而不是调用系统本地代码。除此之外我还学到了新的编程技巧,比方对try,catch的运用。刚学的时候就是照书本上的打,很不情愿但是必须打的代码,在做课设时,我发现他又很神奇的功能可以帮助我解决用其他方法不好解决的问题,比方关闭窗口。刚开始程序只有主窗口时,关闭很好实现,但随着程序功能的完善,需要关闭的窗口越来越多,需要关闭的类型也便多了,到了关闭Dialog的时候,发现Dialog不能强制转化为Frame,如果想用前面的方法管还得把多处代码进行修改,不过我想到了用try来解决这个问题。四、.参考文献1 印旻Java与面向对象程序设计教程北京:清华大学出版社,2 宛延闿.Java程序设计实例剖析.北京:国防工业出版社,3 周晓聪.面向对象程序设计与Java语言.北京:机械工业出版社,4 王克宏、郝建文. Java技术教程. 北京:清华大学出版社,月

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