版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、江苏大学毕业设计论文学生成绩管理系统的设计与实现THE DESIGN AND REALIZATION OF THE RESULT OF STUDENT ADMINISTRATION MANAGEMENT SYSTEM学生姓名:学 号:年级专业:2004级计算机科学与技术指导老师:学 院:应用科学技术学院提交日期:年 月目录 HYPERLINK l _Toc137783592 摘 要3一、 HYPERLINK l _Toc137783595 开发平台及工具简介5 二、系统分析7(一)学生成绩管理系统概述7(二) 需求分析81) 功能需求分析82) HYPERLINK l _Toc13778359
2、8 性能需求分析9 HYPERLINK l _Toc137783599 3)数据库需求分析数据流图94) HYPERLINK l _Toc137783600 数据结构分析数据流图10 HYPERLINK l _Toc137783601 (三)系统功能结构设计12三、 HYPERLINK l _Toc137783602 系统设计13(一)设计目标13(二)开发及运行环境13(三) HYPERLINK l _Toc137783603 数据库设计14 HYPERLINK l _Toc137783604 四、系统的实现17(一)学生查询成绩部分17(二)后台管理成绩部分19 登陆模块19 年纪班级管理
3、模块20 课程管理模块24 评分模块24 学生信息管理模块27 管理员模块29五、系统存在的问题及前景展望30 (一)系统存在问题30 (二)前景展望30 HYPERLINK l _Toc137783608 参考文献31摘要随着现代计算机科学的发展,计算机信息系统越来越受到重视,网络已经成为人们交流信息的重要方式,所以基于网络平台的各种系统不断出现,B/S结构的软件已经成为人们生活工作的一种重要工具。本文将介绍如何使用java后台结合RIA富客户端技术制作学生管理系统,其中涉及到数据库的建立和系统模块功能的实现,并在最后说明了系统存在问题和前景展望。关键词:java,SQL ,TOMCAT,学
4、生成绩管理AbstractAlong with the modern computer science development, the computer information system is more and more important, the network already became the people to exchange the information important way, therefore appeared systems that based on network platform, the B/S system already became one k
5、ind of important tool which the people exchanged. Now we will introduce how to use java and RIA to develop a student score management system. This part including database creation and the system function realization. Finally expound the matter and shortage of the system, in order to ameliorate bette
6、r in the future.Keywords: java, SQL, TOMCAT,Student score management开发平台及工具简介1、Java概述 Java包括Java编程语言、开发工具和环境、Java类库等。Java语言是美国SUN公司开发的一种完全面向对象的程序设计语言。Java语言由C+语言发展而来,但比C+语言简单。Java语言具有简单、与平台无关、高效、健壮、安全、多线程等特点,它是当前网络编程中的首选语言。JDK提供了Java程序的编译和运行方式,并且编译和运行都是命令行方式。JDK本身没有提供源程序编辑环境,没有提供可视化的集成开发环境(Integrate
7、d Development Environment,IDE)。有一些其他Java开发工具提供集成开发环境,如Eclipse、JCreator、JBuilder等,它们都是建立在JDK的运行时环境之上的。 Java是一门编译语言(compiled language),但它不直接生成硬件处理器指令,而是生成一种字节码(bytecodes)这种字节码由Java虚拟机解释执行。 Java虚拟机(Java Virtual Machine,JVM)实际上是一个程序,它定义了指令集、寄存器集、类文件结构栈、垃圾收集堆、内存区域等,提供了跨平台能力的基础框架。Java虚拟机实现了一台理想的计算机,并可以优化运
8、行Java程序。因此,一个Java程序其实是被Java虚拟机执行的,而Java虚拟机运行于实际的处理器之上。Java虚拟机执行应用程序具有以下三个典型特点:1)JavaJava2、SQL Server 2000SQL Server 2000 是Microsoft 公司推出的SQL Server 数据库管理系统的最新版本该版本继承了SQL Server 7.0 版本的优点同时又比它增加了许多更先进的功能具有使用方便可伸缩性好与相关软件集成程度高等优点可跨越从运行Microsoft Windows 98 的膝上型电脑到运行Microsoft Windows 2000 的大型多处理器的服务器等多种平
9、台使用。它的优点有: 1)上手容易,学习SQL Server是掌握其他平台及大型数据,如Oracle,Sybase,DB/2的基础。因为这些大型数据库对于设备、平台、人员知识的要求往往较高,而并不是每个人都具备这样的条件,且有机会去接触它们。但有了SQL Server的基础,再去学习和使用它们就容易多了。IT行业的实践经验充分证明了这一点。 2)兼容性良好,由于今天Windows操作系统占领着主导地的位,选择SQL Server一定会在兼容性方面取得一些优势。另外,SQL Server 2000 除了具有扩展性,可靠性以外,还具有可以迅速开发新的因特网系统的功能。尤其是它可以直接存贮 XML
10、数据,可以将搜索结果以 XML格式输出等特点,有利于构建了异构系统的互操作性,奠定了面向互联网的企业应用和服务的基石。这些特点在.NET 战略中发挥着重要的作用。3),Microsoft SQL Server 2000是在SQL Server 7.0的基础上对性能、可靠性、质量以及易用性进行了扩展。SQL Server 2000中包含许多新特性,这些特性使其成为针对电子商务、数据仓库和在线商务解决方案的卓越的数据库平台。其增强的特性包括对丰富的扩展标记语言(XML)的支持、综合分析服务以及便捷的数据库管理。4)电子商务,在使用由Microsoft SQL Server 2000关系数据库引擎的
11、情况下,XML数据可在关系表中进行存储,而查询则能以XML格式将有关结果返回。此外,XML支持还简化了后端系统集成,并实现了跨防火墙的无缝数据传输。你还可以使用Hypertext Transfer Protocol(超文本传输协议, )来访问SQL Server 2000,以实现面向SQL Server 2000数据库的安全Web连接和无须额外编程的联机分析处理(OLAP)多维数据集。5)数据仓库,Microsoft SQL Server 2000非常明显的改进就是增加了OLAP(联机分析处理)功能,这可以让很多中小企业用户也可以使用数据仓库的一些特性进行分析。OLAP可以通过多维存储技术对大
12、型、复杂数据集执行快速、高级的分析工作。数据挖掘功能能够揭示出隐藏在大量数据中的倾向及趋势,它允许组织或机构最大限度的从数据中获取价值。通过对现有数据进行有效分析,这一功能可以对未来的趋势进行预测。6)增强的在线商务,Microsoft SQL Server 2000简化了管理、优化工作,并且增强了迅速、成功的部署在线商务应用程序所需的可靠性和伸缩性。其中,用以提高可靠性的特性包括日志传送、在线备份和故障切换群集。在伸缩性方面的改进包括对多达32颗CPU和64 GB RAM的支持。通过自动优化和改进后的管理特性-诸如数据文件尺寸的自动管理、基于向导的数据库拷贝、自动内存管理和简化的故障切换群集
13、安装与管理,在线商务应用程序能够被迅速部署并有效管理。7)利于构筑敏捷性商务,所谓敏捷性商务 就是能够打破内部和外部的商业界限,对迅速改变的环境做出快速反应。微软已经与关键的合作伙伴建立起了战略关系,创造出了能够与许多供应商的产品实现整合的解决方案,因而企业用户并不需要做出要么完全接受,要么全部不要的承诺。在部署解决方案的过程中,企业用户不一定要拆除原有的设备从头。敏捷商务让企业用户能够充分利用现有的系统,自主决定所需的硬件和软件解决方案以及由谁来提供,伸缩自如、游刃有余。3、TOMCAT简介 Tomcat是一个带有jsp环境的servlet容器.servlet容器是一个根据用户的行为可以管理
14、和激活servlet的运行时的shell.启动与关闭Tomcat,使用”bin”目录中的脚本启动与关闭Tomcat. 启动:uinx:bin/startup.sh ,win32:binstartup 。关闭: unix:bin/shutdown.sh ,win32:binshutdown 。Tomcat目录结构 ,目录名-描述: bin 包含启动/关闭脚本 ;conf 包含不同的配置文件, 包括 server.xml(Tomcat的主要配置文件)和为不同的Tomcat配置的web应用设置缺省值的文件web.xml ;doc 包含各种Tomcat文档 ;lib 包含Tomcat使用的jar文件.
15、unix平台此目录下的任何文件都被加到Tomcat的classpath中 ;logs Tomcat摆放日志文件的地方 ;src ServletAPI源文件.先别高兴,这些只有些必须在Servlet容器内实现的空接口和抽象类 ;webapps 包含web项目示例 ,此外Tomcat会创建如下目录: work ,;classes可以创建此目录来添加一些附加的类到类路径中.任何加到此目录中的类都可在Tomcat的类路径中找到自身. Tomcat的脚本 ,Tomcat是一个Java程序,因此在设置好几个环境变量后即可用命令行的方式运行.然而设置Tomcat使用的每个环境变量和如下的命令行参数乏味且易错
16、.因此,Tomcat开发组提供了一些脚本使启动和关闭Tomcat变得轻松. 系统分析学生成绩管理系统概述1)学生成绩管理系统的发展背景学生成绩管理是各大学的主要日常管理工作之一,涉及到校、系、师、生的诸多方面,随着教学体制的不断改革,尤其是学分制、选课制的展开和深入,学生成绩日常管理工作及保存管理日趋繁重、复杂。迫切需要研制开发一款功能强大,操作简单,具有人性化的学生成绩管理系统。目前研究的现状在安全性和信息更新化方面存在有一定的不足,各现有系统资料单独建立,共享性差;在以管理者为主体的方式中,信息取舍依赖管理者对于信息的认知与喜好,较不容易掌握用户真正的需求,也因此无法完全满足用户的需求。因
17、此,教务管理软件应充分依托校园网,实现教务信息的集中管理、分散操作、信息共享,使传统的教务管理朝数字化、无纸化、智能化、综合化的方向发展,并为进一步实现完善的计算机教务管理系统和全校信息系统打下良好的基础。随着计算机及网络技术的飞速发展,Internet/Intranet应用在全球范围内日益普及,在众多的网络服务中,Web给人耳目一新的感觉,而在这其中,网络已经日渐普及,任何人可以在网络所提供的平台上进行自由的交流,通过网络,学生可以通过在线的网络直接查询程序,而学校教师也可在网上在线管理学生的成绩,不需要再去张贴成绩单,使用了在线电子系统,既便于数据查询不容易使数据丢失,又省去了印刷张贴的麻
18、烦,可谓一举两得。B/S系统得益于网络的兴起,采用浏览器作为前端用户操作的平台,所有的操作系统都预装了网络浏览器,比如IE,用户不用再去费心安装每个系统的客户端就可以通过浏览器访问服务器上架设的系统只是随着网络的发展,人们不再局限于只查看文字信息图片这些静态信息,对B/S系统的互操作性有了进一步的需求,这才兴起了RIA富客户端的风潮,使用各种技术对浏览器进行功能上的增强,让它可以满足现代用户的需要。这套学生成绩管理系统,就是基于java平台和ajax实现的RIA富客户端开发的,它包括学生查询平台和后台管理平台两部分,分别为学生提供成绩查询功能,为老师提供管理学生成绩的功能。2)方案论证 成绩管
19、理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。本系统主要完成对学生成绩的管理,包括数据库中表的添加、修改、删除等。系统还可以完成对各类信息的浏览、查询、添加、删除、修改等功能。3) 开发工具的选择本系统开发工具:+ SQL SERVER 2000需求分析1) 功能需求分析 该学生成绩管理系统具备三方面的功能:一方面是学生用户,学生通过输入学号和密码进下该系统后,可以进行一些基础查询(学生信息查询、班级信息查询、课程信息查询)、成绩
20、管理(成绩查询、计算平均分)重新登陆系统;一方面老师进入该系统则比学生多一些权限:成绩输入、成绩查询。具体功能的详细描述如下1 选择学生基本维护菜单命令,即可进入 学生基本维护功能窗体,在其中输入学生的相关信息,如果需要添加或修改学生信息,则单击相应的按纽,输入新信息后单击添加就可以了。需要删除一条信息,则只要选择这条信息再点击 删除。在搜索条件中输入相关的条件,单击 查询就可查找信息。2 选择学生信息查询菜单命令,即可进入学生信息查询功能窗体,在其中的下拉列表中选择你要看的信息,则在下面的表格中显示你要的信息。3 选择成绩管理 添加成绩菜单命令,即可进入 添加成绩功能窗体,此功能权限只有管理
21、员和教师。4 选择成绩管理 输入成绩菜单命令,即可进入 输入成绩功能窗体,此功能权限只有管理员和教师。5 选择成绩管理 修改成绩 界面,此功能规管理员所有。6 选择成绩管理 查询成绩界面此界面对学生也是可见的,它的权限规所有用户所有。7 选择登陆 重新登陆 则会返回登陆界面,为用户提供方便。8 选择退出将退出整个系统。2) 性能需求分析时间特性要求:在软件方面,响应时间有点慢,因为是用JBuilder做的,它占用内存比较大,更新处理时间比较快而且迅速。安全性:设立口令号和密码验证方式,防止非法用户登录进行操作。也就是用户只有管理员、学生和教师才能进入这个系统,用户凭口令号和密码进入此系统,系统
22、会自动判断用户是那种类型,分别拥有不同的权限。3) 数据库需求分析数据流图在教务系统中功能模块主要牵涉到的信息包括:是学生信息(base_info)、班级信息(class_info)、课程信息(class_info)、成绩表(chengjibiao)、选课表 (xuankebiao)、登陆表(stu)。学生信息:包含学号(id)、姓名(name)、班级(class)、班级(grade)、性别(sex)课程信息:包括课程编号(course_id)、课程名称(coursename)姓名(name)、成绩(result) 成绩表:编号(number)、学号(id)、课程名称(coursename)、
23、成绩(result)班级信息:班级编号(bjbh)、学号(id)、姓名(name)、班级名称(bjmc)。登陆表:口令号(id)、密码(password)。寻找信息登陆信息用 户数 据 库账号信息2 开发环境与工具介绍前端客户端我用的是Macromedia Dreamweaver 8来编写JSP文件。中间业务逻辑层的JavaBeans用的是JBuilderX EnterpriseX版。数据库的编写是采用MYSQL数据库。由于我用的是JBuilderX Enterprise版开发的这个系统,这个开发软件功能十分强大,所以自然对开发环境要求相对来说比较高。1对系统硬件的要求:最小512M RAM,
24、推荐786MB RAM。2. 对系统平台的要求: Windows平台 CPU:Intel PentiumIII 及以上兼容系列500MHz以上。 操作系统:Microsoft Windows2000(SP4)、WindowXP或者WindowsServer2003。Linux平台 CPU:Intel PentiumIII 及以上兼容系列500MHz以上。操作系统:Sun Java Desktop System Release2或者RedHat Enterprise Linux 3 .0 2.2 运行环境: 硬件:适用于数据吞吐量较大的不同服务器; 软件 :服务器端:WINDOWS XP+MyS
25、QL用户端: WindowXP+IE根据以上划分的具体数据信息,得到数据流图如: 操 作登 录错误信息返回信息1.1数据库需求分析数据流图4)数据结构分析学生信息=组成: 学号(id)、姓名(name)、班级(class)、性别(sex)、地址(address)课程信息=组成: 编号(course_id)、课程名称(coursename)、教师(teacher)选课信息=组成:编号(select_id) 课程名称(coursename)、课程编号(course_id)、学号(xh)、姓名(name)、成绩(result) 、教师(teacher)成绩表包括=组成:编号(number)、学号(i
26、d)、课程名称(coursename)、成绩(result)、教师(teacher) 课程信息包括=组成:课程编号(course_id)、课程名称(coursename)、教师(teacher)班级信息=组成:班级编号(bjbh)、年级(nj)、班级名称(bjmc)、人数(rs)、班主任(bzr)登陆表=组成:口令号(id)、密码(password)、权限(rightlimit)1、对图1.1中所涉及的数据流描述如下:1) 数据流名:口令号说明:根据这个口令号定位到用户管理数据库,以便进行身份验证。数据流来源:登陆界面输入的口令号和密码。数据流去向:其中用户口令信息将存在于整个操作过程中,防止
27、非法登陆。数据流组成:口令号(文本);密码(文本)数据流名:寻找信息说明:根据用户在学生信息维护的时候所填写的信息。数据流来源:学生信息维护界面学生输入包含学号、班级编号、名称等。数据流去向:学号将存在整个操作,其它的存入数据库。数据流组成:学号(文本);姓名(文本)等数据流名:寻找信息说明:根据用户在成绩管理的时候所填写的信息。数据流来源:成绩输入、修改、添加等界面用户输入包含课程编号、课程名称、成绩、教师。数据流去向:学号、班级编号、课程编号将存在整个操作,其它的存入数据库。数据流组成:课程编号(文本)、课程名称(文本)、教师(文本)等。数据流名:返回信息说明:根据用户在学生信息维护的时候
28、所填写的信息存入了数据库之后。数据流来源:由学生信息维护界面学生输入的包含学号、姓名、性别等存入数据库的。数据流去向:学生信息维护界面。数据流组成:学号(文本)、姓名(文本)、班级名称(文本)、性别(文本)等。数据流名:返回信息说明:根据用户在成绩管理的时候所填写的信息存入数据库后。数据流来源:由成绩管理输入的包含班级名称、教师、课程名、成绩存入数据库的。数据流去向:成绩管理的各子界面。数据流组成:班级编号(文本);班级名称(文本);教师(文本)等2. 对图1.1中所涉及的处理过程描述如下:处理过程名:登陆输入数据流:口令号、密码输出数据流:不符合输入条件的错误信息 处理过程逻辑:用 IF条件
29、进行判断。处理过程名:班级信息维护输入数据流:班级编号、班级名称、教师等输出数据流:班级编号、班级名称等 ,其中班级编号将存在整个操作。处理过程号:班级编号,其中班级编号将存在整个操作。处理过程名:学生信息维护输入数据流:学号、姓名、班级编号、性别等。输出数据流:学号、姓名、班级编号、性别等。其中学号将存在整个操作。处理过程名:课程查询输入数据流:学号、姓名输出数据流:学号、班级名称、课程名称、上课时间节、上课时间天、上课地点、其中课程编号将存在整个操作。处理过程名:成绩输入输入数据流:课程编号、课程名称输出数据流:编号、学号、课程名称、成绩 、其中编号和学号将存在整个操作。 系统功能结构设计
30、 根据需求分析阶段得到的功能需求,管理员、学生和教师用户通过输入口令号和密码进下该系统后,可以进行一些学生基础信息查询(学生信息查询、班级信息查询、课程信息查询)、学生信息维护、成绩管理(成绩查询、计算平均分)重新登陆系统、退出。 模块功能大概可以分为如下4个方面:这几个模块学生基础维护、成绩管理、登陆、退出。其中基础维护还要包括学生信息维护、班级信息维护、课程信息维护。成绩管理包括成绩查询、添加成绩、成绩输入等。综上所述,得到客户端功能模块图如下2.1所示。学生成绩管理系统成绩输入登陆成绩查询学生模块管理员模块成绩修改成绩添加成绩查询学生信息查询学生信息维护学生基本信息退出退出成绩管理重新登
31、陆系统设计(一)设计目标通过对学生管理工作的调查和研究,要求系统设计完成后将达到以下目标:界面设计友好、美观,方便管理员的日常操作。基本信息的全面设置,数据录入方便、快捷。具有用户维护功能。最大限度地实现了易维护性和易操作性。(二)开发及运行环境硬件平台:CPU:P41.8GHz; 内存:256MB以上。软件平台:操作系统:Windows2000 Server;数据库:SQL Server 2000;建立环境,这个过程如下:在 HYPERLINK :/java.sun /jdk/ t _blank 处下载JDK(Java2SDK、StandardEdition、v)。JDK的安装是首先运行下载
32、得到的jdk-6u5-windows-i586-p.exe,然后修改系统环境变量,新建JAVA_HOME=x:jdk6.0,并在PATH参数中加入%JAVA_HOME%bin;,其中x:是安装JDK的硬盘符(c:、d:等)。在h6.0。tomcat的安装仅需将apache-tomcat-.zip带目录释放到硬盘根目录下(c:、d:等),然后就可以在硬盘上找到apache-tomcat-5.5.26目录。启动则在apache-tomcat-/bin目录下执行startup.bat,就可启动tomcat中一个支持JSP网页技术的Web服务器。为了不与现有的Web服务器(例如IIS、PWS等)冲突,
33、tomcat的Web服务器使用了8080端口。在浏览器的地址栏中键入 HYPERLINK :/localhost:8080/ t _blank :/localhost:8080或者 HYPERLINK :/:8080/ t _blank :/:8080后,如果能看到tomcat的欢迎页就说明JSP实验环境已经建成,可进入下一步实验。要关闭Web服务器则运行shutdown.bat。(三)数据库设计 数据库连接数据库连接对动态网站来说是最为重要的部分,从JSP中访问数据通常是通过Java Bean来实现的。Java中连接数据库的技术是JDBC(Java Dat
34、abase Connectivity)。很多数据库系统带有JDBC驱动程序,Java程序就通过JDBC驱动程序与数据库相连,执行查询、提取数据等等操作。Sun公司还开发了JDBC-ODBC bridge,用此技术Java程序就可以访问带有ODBC驱动程序的数据库,目前大多数数据库系统都带有ODBC驱动程序,所以Java程序能访问诸如Oracle、Sybase、MSSQL Server和MS Access等数据库。JavaBeanJavaBeans 是基于java的组件模型,由属性,方法和事件3个部分组成。在该模型中,Javabeans可以被修改或与其他组件结合生成新组件或完成的程序。它是一种J
35、ava类,通过封装成为具有某种功能或者处理某个业务的对象。因此,也可以通过嵌在 JSP页面内的Java代码访问Bean及其方法。Bean的含义是可重复使用的Java组件。所谓组件就是一个由可以自行进行内部管理的一个或几个类所组成,外界了解其内部信息和运行方式的群体。使用它的对象只能通过接口来操作。Bean实际上是根据JavaBeans技术标准所指定的Bean的命名和设计规范而编写的Java类。Bean并不需要继承特别的基类(base class)或事项特定的接口(Interface)。JavaBeans1.01-A规范定义了该组件的5种重要的机制:内省(Introspection):组件可发表
36、其支持的操作和属性,同时也支持在其他组件中发现重复利用的对象库,例如用户权限和电子自动回复等。通信(Communication):生成和收集组件的消息事件持续(Persistence):存放组件的状态。属性(Properties):支持组件布局的控制,包括组件占用的空间和组件的相对位置。定制(Customization):开发者可控制组件所需的改变机制。Javabeans可实现在设计平台被规定的操作,一般可表示为简单的图形界面,如按钮,光标和菜单等,也可以是不可见的接受并处理事件的操作,如数据库连接Bean。JSP吸引人之处很大程度上在于它使用了Javabeans组件技术,但JSP中只支持不可
37、见的Javabeans。jdbc创建一个简单的数据库连接Bean需要5个步骤:导入JDBC标准类库,注册数据库驱动程序,建立数据库连接,数据库操作和关闭。1)导入JDBC标准类库JDBC(Java DataBase Connectivity, Java数据库连接)是一种可用于执行SQL(Structured Query Language ,结构化查询语言)语句的应用程序接口,为了将服务器从客户端接受信息存入数据库,需要使用JDBC标准类库,所以需要在程序的开始加入以下import语句:Import java.sql.*;2)注册数据库驱动程序在一个JDBC的驱动程序被用来建立数据库连接之前,必
38、须向数据库驱动程序管理器注册该驱动程序。管理器的主要职责是保证所有的驱动程序对象可被JDBC的用户程序访问。当一个JDBC驱动程序被载入时,它将自动地在驱动程序管理器上注册。可以调用Class.forName()方法载入一个JDBC驱动程序:String strDBDriver=sun.jdbc.odbc.JdbcOdbcDriver;Class.forName(“strDBDriver ”); Class.forName()是Java的Class类的静态方法,它使Java虚拟机动态的寻找,载入并连接指定的类。3)建立数据库连接载入一个正确的驱动程序后,就可以用它来建立与数据库的连接了。一个J
39、DBC的数据库连接是用数据库URL来标记的。连接标记将告诉驱动程序管理器使用哪个驱动程序和连接哪个数据库。数据库URL的基本形式:jdbc::URL的第一部分表示使用JDBC建立数据库连接。第2部分表示所使用的JDBC驱动程序名或网络协议名。第3部分是数据源标记,它映射所需连接的数据库。例如数据库的数据源标记是firm则同JDBC-ODBC桥连接该数据库所用的数据库URL为jdbc:odbc:firm.可以通过DriverManager类的静态方法getConnection()来建立一个数据库连接:String strDBUrl=jdbc:odbc:firm;conn=DriverManage
40、r.getConnection(strDBUrl,sa,);一旦建立数据库连接,就可以打开该目标数据库,并通过该连接向目标数据库SQL指令。SQL指令通常会执行查询,插入,更新和删除等数据库操作。要执行SQL指令,必须通过Connection对象的createStatement()方法来创建一个STMT对象。STMT对象提供了许动方法来执行不同的数据库操作。可以 通过以下方式创建STMT对象:private Connection conn=null;private Statement stmt=null;ResultSet rs=null;stmt=conn.createStatement()
41、;4)数据操作与数据库建立了连接后,接着就要进行数据操作了。数据操作包括查询,插入,更新和删除等操作。要对数据库精心操作可以使用STMT对象的executeQuery()方法。executeQuery()方法接受一个SQL指令字符串作为参数,返回结果信息是ResultSet对象。具体如下:rs=stmt.executeQuery(sql);5)关闭因为数据库连接是宝贵和有限的资源,因此必须在数据库操作完毕后即使释放数据库连接。Connection 对象提供了一个简单的关闭数据库连接的方法 close()。例如:conn.close();stmt.close。利用数据库原理相关知识,对数据库设计
42、和每个模块、每个界面的具体设计。此系统采用的数据库软件是sqldb。以下是系统需要的六张主要数据表的结构。字段名字段类型nulldefault描述主键外键idbigint主键incrementcodevarchar(100)年级代码namevarchar(200)年级名称School_grade年级字段名字段类型nulldefault描述主键外键idbigint主键incrementcodevarchar(100)班级代码namevarchar(200)班级名称school_gradebigint所在年级school_gradeSchool_class班级字段名字段类型nulldefault描
43、述主键外键idbigint主键incrementcodevarchar(50)课程编码namevarchar(200)课程名称credit_hourfloat学分passfloat及格线school_gradebigint所在学期school_gradeLesson课程字段名字段类型nulldefault描述主键外键idbigint主键incrementusernamevarchar(200)用户名passwordvarchar(200)密码truenamevarchar(200)真实姓名sexinteger性别school_classbigint所在班级school_classStudent
44、学生字段名字段类型nulldefault描述主键外键idbigint主键incrementscorefloat成绩studentbigint用户studentlessonbigint课程lessonScore成绩字段名字段类型nulldefault描述主键外键idbigint主键incrementusernamevarchar(200)用户名passwordvarchar(200)密码Admin管理员系统的实现(一)学生查询成绩部分访问 HYPERLINK :/localhost:8080/studentscope/ :/localhost:8080/ST/。测试用户名:test测试密码:te
45、st学生需要先登录才能进入查询程序的界面, 进入系统前要对用户和密码进行校验,即用户名和密码正确才能进入系统。并且若用户连续三次密码输入错误,则不能再次输入。输入用户ID后,按键,系统校验该用户是否存在.在公共方法jTuser_keyPressed()中,定义一个String类型变量sqlSelect用来生成SQL查询语句,再定义一个公共类 PetrieveObject类型变量 retrieve,然后调用retrieve的getObjectRow()方法,其参数为sqlSelect,用来判断该用户是否存在。如果用户名与密码不正确,就会弹出警告信息,要求用户重新输入。登录成功后就可以看到登录学生
46、的个人信息和相关学科的分数。后台管理成绩部分访问 HYPERLINK :/localhost:8080/st,进入后台管理界面。测试管理员帐号:admin测试密码:admin输入用户ID之后,按键,系统校验该用户是否存在。在公共方法jTuser_keyPressed()中,定义一个String类型变量sqlSelect用来生成SQL查询语句,再定义一个公共类RetrieveObject类型变量retrieve,然后调用retrieve的getObjectRow()方法,其参数为sqlSelect,用来判断该用户是否存在。该方法的详细代码如下:Public void jTextField1_ke
47、yPressed(KeyEvent keyEvent)If(keyEvent.getKeyCode()=KeyEvent.VK_ENTER) String sqlSelect=null; Java.util.Vector vdata=null; sqlSelect=”select username from tb_user where userid=”+jTextField1.getText().trim()+”; appstu.util.RetrieveObject retrieve=new appstu.util.RetrieveObject(); vdata=retrieve.getOb
48、jectRow(sqlSelect); if (vdata.size()0) jPasswordField1.requestFocus();else Javax.swing.JOptionPane.showMessageDialog(null,”该用户不存在”,”错误” ,javax.swing.JOptionPane.ERROR_MESSAGE); jTextField1.requestFocus(); 如果用户存在,再输入对应的口令,输入的口令正确时,单击“登录”按钮,进入系统。公共方法jTuser_keyPressed()的设计与jTextField1_keyPressed的设计方法相似
49、,其关键代码如下:Public void jBlogin_actionPerformed(ActionEvent e) String sqlSelect=null; sqlSelect=”select count(*)from tb_user where userid=”+jTextField1.getText().trim() +”and pass=”+pass+”; Java.util.Vector vdata=null; appstu.util.RetrieveObject retrieve=new appstu.util.RetrieveObject(); vdata=retrieve
50、.getObjectRow(sqlSelect); (vdata.get(0)0) AppMain frame=new AppMain(); This.setVisible(false);else J.JOptionPane.showMessageDialog(null,”密码错误”,”错误”,J); jPasswordField1.requestFocus(); return; 登录成功可以选择功能模块进行操作。其中包括有年级班级管理模块、课程管理模块、学生管理模块、系统管理模块。这些模块都只有管理人员才能使用。管理年级信息,年级管理模块可以添加、修改、删除各年级的ID、年级编码及年级名称。
51、管理班级信息,班级信息设置用来维护班级的基本情况,包括对班级信息的添加、修改和删除等操作。通过调用Jdbcadapter,完成对班级表的相应操作。执行该模块程序,首先从数据表中检索出班级的基本信息,如果存在数据用户单击某一条数据之后可以对其进行修改、删除等操作。单击jf_view_sysset_class.java 文件的source代码,编辑窗口首先导入UTIL公共包下的相应类文件;定义一个BOOLEAN实例变量INSERTFLAG,用来标志操作数据库的类型,然后定义一个私有方法BUILDTABLE(),用来检索班级数据。代码如下:private void buildTable() Defa
52、ultTableModel=null; String name =“班级编号”,”年级编号”,”班级名称”; String sqlstr=”select*from tb_classinfo”; Appstu.util.retrieveObject bdt=new appstu.util.RetrieveObject(); Tabemodel=bdt.getTableModel(name,sqlstr);jTable.setModel(tablemodel);jTable.setRowHeight(24); 单击“新增”按钮,用来增加一条新的数据信息。在公共方法jBadd_actionPerfo
53、rmed()中定义局部字符串变量sqlgrade,用来生成年级sql的查询语句,然后调用公共类RetrieveObject的getObjectRow()方法,其参数为sqlgrade,将返回结果数据解析后添加到jComboBox1组件中。其jBadd_actionPerformed()方法的代码如下: Public void jBadd_actionPerformed(ActionEvent e)/获得年级名称/if(jComboBox1.getItemCount()=0)Insertflag=true;RetrieveObject bdt=new RetrieveObject();Strin
54、g sqlgrade=”select gradeName from tb_gradeinfo”;Java.util.Vector vdata=new java.util.Vector();Vdata=bdt.getObjectRow(sqlgrade);jComboBox1.removeAllItems();for (int i=0;ivdata.size();i+) jComboBox1.addItem(vdata.get(i);ItemEvent item=new ItemEvent(jComboBox1,0,jComboBox1,jComboBox1.getSelectedIndex()
55、;jComboBox1_itemStateChanged(item);jTextField2.setText(“”);jTextField2.requestFocus();用户单击表格上的某条数据后,程序会将这条数据填写到jPanel2面板上的相应组件上,以方便用户进行相应的操作,在公共方法jTable1_mouseClicked()中定义一个string类型的局部变量sqlStr,用来生成sql查询语句,然后调用公共类RetrieveObject的getObjectPow()方法,进行数据查询,如果找到数据则将该数据解析显示给用户,代码如下:Public void jTable1_mouse
56、Clicked(MouseEvent e) Insertflag=false; String id=null; String sqlStr=null; Int selectrow=0; Selectrow=jTable1.getSelectedRow(); If(selectrow0)return; Id=jTable1.getValueAt(selectrow,0).toSwing(); sqlStr=”SELECT c.classID,d.gradeName FROM tb_classinfo c INNER JOIN” +” + “where c.classID=”+id+”; Java
57、.util.Vector vdata=null; RetrieveObject retrive=new RetrieveObject(); Vdata=retrive.getObjectRow(sqlStr); jComboBox1.removeAllItems(); jTextField1.setText(vdata.get(0).toString(); jComboBox1.addItem(vdata.get(1); jTextField2.setText(vdata.get(2).toString(); 管理课程信息,课程管理模块可增加、修改、删除学院各班级开设的课程数据,包括课程的ID
58、、课程代码、课程名称、课程学分、该课程的及格分数线及开设该课程的年级信息。评分模块主要是给学习某一课程的学生评分,通过选择课程的名称,可录入、修改、删除和查看学习该门课程所有学生的成绩。this.tbar = new Ext.Toolbar(选择课程:, filter, -, id: addMenu, text: 添加, iconCls : add, tooltip : 添加, disabled: true, handler: function() if (this.filter.getValue() = ) Ext.Msg.alert(提示, 请先选择课程); else var initVa
59、lue = id: null, student.truename: null, student.id: null, score: 0 ; var p = new this.dataRecord(initValue); this.stopEditing(); this.store.insert(0, p); this.startEditing(0, 0); p.dirty = true; p.modified = initValue; if(this.store.modified.indexOf(p) = -1) this.store.modified.push(p); if (this.ins
60、ertedRecords.indexOf(p) = -1) this.insertedRecords.push(p); .createDelegate(this) , id: deleteMenu, text: 删除, iconCls : delete, tooltip : 删除, disabled: true, handler: function() if (this.filter.getValue() = ) Ext.Msg.alert(提示, 请先选择课程); else Ext.Msg.confirm(信息, 确定要删除?, function(btn) if (btn = yes) va
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 批发药材购销合同
- 月嫂服务合同编写心得
- 房屋买卖合同的担保条件分析
- 高质量托儿所育儿服务合同
- 个人银行借款抵押合同模板
- 煤矿矿区土地使用权合同协议
- 月嫂家政服务雇佣合同
- 官方发布的房产买卖合同模板
- 气象监测小站购销合同
- 室内美陈布置设计合同
- 水厂工程工艺管道及设备安装工程施工方案与技术措施
- 《社会网络分析法》课件
- 初中语文部编版九年级上册期末综合性学习专项练习(2022秋)(附参考答案和解析)
- 缩句完整版本
- 2024年水发生态产业集团有限公司招聘笔试参考题库含答案解析
- ISO9001质量管理体系培训教材
- 纸质文物保护修复的传统及现代技术研究
- 导尿术并发症的预防及处理
- 危化品管理的常见问题及解决方法
- 人机工程评价表
- 2024年临床医学的新进展与研究方向
评论
0/150
提交评论