Java与SQL数据库技术学生成绩管理系统课程设计

《数据库系统原理》
课程设计报告说明书 学生信息管理系统 学生姓名 学 号 所在专业 所在班级 指导教师 提交时间 评阅情况 成 绩 目 录 读书笔记 1 1. 学生信息管理系统概述 2 1.1 研究背景 2 1.2 开发意义 2 2. 系统需求分析 3 2.1 开发环境和软件 3 2.2 系统设计与功能分析 3 3 数据库设计 4 3.1 系统概念结构设计 4 3.2 系统逻辑结构设计 5 3.3 数据库实现 6 3.3.1 数据库关系图 6 3.3.2 SQL语句实现 7 4. 系统模块详细设计 9 4.1 用户登录模块 9 4.2 各用户操作模块 10 4.2.1 管理员操作模块 10 4.2.2 教师操作模块 10 4.2.3 学生操作模块 10 5. 系统运行与测试 11 5.1 管理员登录 11 5.2 教师登录 13 5.3 学生登录 19 6.课程设计总结 22 7.附录(代码)
23 I.读书笔记 关于网上花店管理系统的读书笔记: 在网上购物逐步平民化的今天,网上购物人数不断增加,现代IT技术和互联网的结合。给了市场创造了无限商机!我阅读了一片“网上花店管理系统”的论文。该论文主要研究网上花店管理系统。该系统以MySQL作为后台数据库,JSP作为前台开发工具,通过Java中的JDBC连接数据库。提供给用户网上浏览,购买,支付等功能,同时.管理员对可以该系统进行维护和管理! SQL Server安全可靠,性能好,易用性强,JSP的Web运用跨平台,系统底层采用Java开发。Java语言简单,面向对象,安全性高的特点,运用Serlvet模式和Tomcat服务器。这几点的综合搭配使得该系统灵活方便易用,简化了动态网站的开发。

网上花店管理系统实现了用户注册,网上订购支付,留言,购物车,鲜花资料管理和用户管理,订单管理等功能。SQl数据库实现了用户注册登记信息的存储,和网站资料维护,更新等使得数据的管理更加便利,高效…JSP则为用户提高动态图形界面,简化了操作,提高了易用性。

论文还详细介绍了系统的逻辑结构设计,逻辑图,总功能设计,和数据库设计等。该系统即使是不懂web技术的人也可以熟悉运用。

开发工具和数据库的工具有很多,各有各的优势。在互联网大行其道的时代,电脑技术顺应着时代的发展,只有我们把握运用好各类技术,相互结合与利用,才能制作出更好的软件和程序。

1 学生信息管理系统 信管班 指导教师:
1. 学生信息管理系统概述 1.1 研究背景 学生信息管理系统是学校管理的重要工具,是学校不可或缺的部分。

随着在校大学生人数的不断增加,教务系统的数量也不断的上涨,。学校工作繁杂、资料众多,人工管理信息的难度也越来越大,显然是不能满足实际的需要,效率也是很低的。并且这种传统的方式存在着很多的弊端,如:保密性差、查询不便、效率低,很难维护和更新等。然而,本系统针对以上缺点能够极大地提高学生信息管理的效率,也是科学化、正规化的管理,与世界接轨的重要条件。所以如何自动高效地管理信息是这些年来许多人所研究的。

1.2 开发意义 随着这些年电脑计算机的速度质的提高,成本的下降,IT互联网大众趋势的发展。我们使用电脑的高效率才处理数据信息成为可能。

学生学籍管理系统的出现,正是管理人员与信息数据,计算机的进入互动时代的体现。友好的人机交互模式,清晰简明的图形界面,高效安全的操作使得我们对成千上万的信息的管理得心应手。通过这个系统,可以做到信息的规范管理,科学统计和快速的查询,从而减少管理方面的工作量。毋庸置疑,切实有效地把计算机管理引入学校教务管理中,对于促进学校管理制度,提高学校教学质量与办学水平有着显著意义。 2. 系统需求分析 2.1 开发环境和软件 (1)
操作系统:Windows 7 (2)
数据库软件:SQL Server 2005 (3)
Java开发工具:Eclipse 2.2 系统设计与功能分析 学生信息管理系统,可用于学校等机构的学生信息管理,查询,更新与维护,使用方便,易用性强,图形界面清晰明了。该软件用java语言编写,用SQLServer2005数据库作为后台的数据库进行信息的存储,用SQL语句完成学生学籍信息的添加,查询,修改,删除的操作以及成绩的录入,修改,删除等。用ODBC驱动实现前台Java与后台SQL数据库的连接。Java语言跨平台性强,可以在windows,linux,ubuntu等系统下使用,方便简单,安全性好。SQLServer2005数据库高效安全,两者结合可相互利用各自的优势。

该系统实现的大致功能:
1. 用户登陆界面。该界面可以选择使用者的身份,“管理员,教师,学生”。不同的身份有不同的操作界面和功能权限。ID号和密码输入正确即可登录。学生管理界面。提供了学生学籍信息的查询,相关科目的成绩查询和排名,修改登录密码等功能。

2. 教师管理界面。提供了对学生学籍信息的查询,添加,修改,删除;
学生成绩的录入,修改,删除,查询班级排名。修改密码等功能。

3. 管理员管理界面。拥有最高的权限。允许添加教师信息和课程信息等。

4. 登录的用户信息分别存储在SQL数据库的“管理员信息表”, “教师信息表”, “学籍信息表”中,如果用户信息不存在则三张表中,将会无权利登录本管理系统。

保证了本学生管理系统的安全性。

3 数据库设计 3.1 系统概念结构设计 教师ID 课程号 教师 教师姓名 课程名称 课程 登录密码 教师ID 学号 课程号 成绩 姓名 成绩 学号 管理员ID 性别 学籍 管理员 籍贯 登录密码 班级号 班级 籍贯 登录密码 总人数 班级号 班级名称 实体属性表:
实体 属性 教师 教师ID,教师姓名,登录密码 课程 课程号,课程名称,教师ID 管理员 管理员ID,登录密码 班级 班级号,班级名称,总人数 学籍 学号,姓名,性别,班级号,籍贯,登录密码 成绩 学号,课程号,成绩 3.2 系统逻辑结构设计 教师信息表: 字段名 类型 空值 约束条件 教师ID varchar(8) not null 主键 教师姓名 varchar(8) not null 登录密码 varchar(8) not null 课程信息表:
字段名 类型 空值 约束条件 课程号 varchar(8) not null 主键 课程名称 varchar(12) not null 教师ID varchar(8) not null 外键 班级信息表:
字段名 类型 空值 约束条件 班级号 varchar(8) not null 主键 班级名称 varchar(8) not null 所属学院 varchar(6) 班级人数 nchar(4) 管理员信息表:
字段名 类型 空值 约束条件 管理员ID varchar(10) not null 主键 登录密码 varchar(10) not null 成绩信息表:
字段名 类型 空值 约束条件 班级号 varchar(15) not null 主键,外键 班级名称 varchar(8) not null 主键,外键 所属学院 smallint not null 学籍信息表:
字段名 类型 空值 约束条件 学号 int not null 主键 姓名 varchar(30) not null 性别 char(2) 班级号 varchar(30) not null  外键 籍贯 char(10)   登录密码 money not null 3.3 数据库实现 3.3.1 数据库关系图 3.3.2 SQL语句实现 数据表的创建:
(1)教师信息表创建:
create table 教师信息表( 教师ID varchar(8) primary key , 教师姓名varchar(8) not null unique, 登录密码varchar(8) not null, ) (2)课程信息表创建:
create table 课程信息表( 课程号varchar(8) primary key, 课程名称varchar(12) not null, 教师ID varchar(8) not null foreign key(教师ID) references 教师信息表(教师ID) ) (3)班级信息表创建:
create table 班级信息表( 班级号varchar(8) not null primary key, 班级名称varchar(8) not null unique, 所属学院varchar(8) , 班级人数 nchar(4) ) (4)学籍信息表创建:
create table 学籍信息表( 学号varchar(15) primary key, 姓名varchar(8) not null , 性别varchar(4) , 班级号varchar(8) not null , 籍贯varchar(5) , 登录密码varchar(6) not null foreign key (班级号) references 班级信息表(班级号) ) (5)成绩信息表创建:
create table 成绩信息表( 学号varchar(15), 课程号varchar(8), 成绩smallint primary key(学号,课程号) foreign key (学号) references 学籍信息表(学号), foreign key (课程号) references 课程信息表(课程号) )
(6)管理员信息表创建:
create table 课程信息表( 管理员ID varchar(8) primary key, 登录密码 varchar(12) not null )
视图的创建:
(1)“教师课程详细信息”视图创建:
create view 教师课程详细信息 as SELECT 教师信息表.教师ID,教师信息表.教师姓名,课程信息表.课程号,课程信息表.课程名称, 教师信息表.登录密码 FROM 教师信息表 JOIN 课程信息表 ON 教师信息表.教师ID =课程信息表.教师ID (2) “学生成绩信息”视图创建:
create view 学生成绩信息 as SELECT 学籍信息表.学号,学籍信息表.姓名,学籍信息表.性别, 课程信息表.课程名称,成绩信息表.成绩 FROM 成绩信息表 JOIN 学籍信息表 ON 成绩信息表.学号 = 学籍信息表.学号 JOIN 班级信息表 ON 班级信息表.班级号 = 学籍信息表.班级号 JOIN 课程信息表 ON 课程信息表.课程号 = 成绩信息表.课程号 存储过程创建:
(1)“单科成绩排名”创建:
create proc [dbo].[单科成绩排名] @kechenname char(8), @classname char(8) as select 学籍信息表.学号,姓名,成绩 from 成绩信息表 join 课程信息表on 课程信息表.课程号=成绩信息表.课程号 join 学籍信息表on 学籍信息表.学号=成绩信息表.学号 join 班级信息表on 班级信息表.班级号=学籍信息表.班级号 where 课程名称=@kechenname and 班级名称=@classname order by 成绩desc (2)“全班排名”创建:
create proc [dbo].[全班排名] @class char(8) as select 学籍信息表.学号,姓名, avg(成绩) as 平均分,sum(成绩) as 总分 from 成绩信息表 join 学籍信息表 on 成绩信息表.学号=学籍信息表.学号 join 班级信息表 on 班级信息表.班级号=学籍信息表.班级号 where 班级信息表.班级名称=@class group by 学籍信息表.姓名,学籍信息表.学号 order by avg(成绩) desc,学籍信息表.学号 4. 系统模块详细设计 4.1 用户登录模块 4.2 各用户操作模块 4.2.1 管理员操作模块(图1)
4.2.2 教师操作模块(图2)
图1 图2 4.2.3 学生操作模块 5. 系统运行与测试 5.1 管理员登录 点击“管理员”按钮。输入正确的ID和密码。验证成功则可进入管理员管理界面。

管理员ID号和登录密码存在数据库中的管理员信息表。表中存在的管理员才允许登录。

(1)添加教师信息。在弹出的输入栏中输入正确的数据。

如果输入重复的信息则会弹出。

如果某项未填则弹出。

输入的数据会分别写进“教师信息表”和“课程信息表”中。

增加的教师信息,允许让更多的教师登录本系统进行管理操作! (2)修改教师信息 如果要修改的教师信息不存在,则 (3)删除信息修改 输入的教师信息不存在,则 (4)查询教师信息 5.2 教师登录 在登录界面选择“教师”按钮,并输入正确的ID号和密码,即可登录成功! 输入错误则会弹出提示! ID号输入正确,登录成功!进入教师管理的操作界面:
(1)显示学生信息。

(2)添加学生信息 新添加的信息会保存在学籍信息表中! 如果输入的信息已经存在,则显示 如果输入的数据正确,则 (3)修改学生信息,输入正确则显示! (4) 删除学生信息, (5)录入学生成绩 (6)修改学生成绩 (7) 删除学生成绩 (8)查询学生成绩 (9)所有成绩排名 (10)单科成绩排名 (11)更改登录密码 修改成功后即可用新的密码进行登录! 5.3 学生登录 输入正确的ID号和密码,即可正常登录! (1)
显示学生信息 (2)
查询个人成绩 (3)单科成绩排名 (4)全班成绩排名 (5)修改密码 修改密码后会更新学生学籍表里面的登录密码,下次就可以用新密码登录。

点击 后,就可以安全退出学生管理系统了! 6.课程设计总结 课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程. 本次课程设计虽然很辛苦,实在是受益匪浅。本来这门课的知识学的就不够扎实,本次课程设计,在设计过程中碰到了很多问题,刚开始要设计的时候,还真不知道从哪里下手但最终在图书、同学和老师的帮助下都得到了解决,让我学会了好多书本上没有的东西,通过本次课程设计我也能将课本上的知识融会贯通,起到了很好的辅助学习的效果,但是我发现我学到的知识比整整一个学期学到的都多。理论和实践的相结合是学习最有效的方法。在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,通过这次课程设计之后,一定把以前所学过的知识重新温故。

通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。

7.附录(代码)
由于篇幅有限,所以只附上主要功能的代码:
登陆界面与主功能界面:
public class Sql extends JFrame implements ActionListener{ JFrame mm=new JFrame(“您好!请您先登录!“); JTextField t2=new JTextField(null,15); JTextField t4=new JPasswordField(null,15); public String zh=null; JRadioButton b=new JRadioButton(“教师“); JRadioButton b1=new JRadioButton(“学生“); JRadioButton b2=new JRadioButton(“管理员“); public void jiemian(){ mm.setSize(300,340); mm.setVisible(true); mm.setLocation(200,300); mm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JLabel t1=new JLabel(“ID号:“); JLabel t3=new JLabel(“密码:“); JButton denglu2=new JButton(“登录“); denglu2.setContentAreaFilled(false); Container n=mm.getContentPane(); n.setLayout(null); t1.setBounds(42,125,75,35); t2.setBounds(80,125,150,35); t3.setBounds(40,180,75,35); t4.setBounds(80,180,150,35); denglu2.setBounds(102,245,70,30); n.add(t1);n.add(t2); n.add(t3); n.add(t4); n.add(denglu2); b.setBounds(130,85,70,30); b1.setBounds(70,85,70,30); b2.setBounds(190,85,70,30); ButtonGroup rg=new ButtonGroup(); b.setSelected(false); b1.setSelected(true); b1.setSelected(false); n.add(b); n.add(b2); rg.add(b2); rg.add(b); n.add(b1); rg.add(b1); b.setContentAreaFilled(false); b1.setContentAreaFilled(false); b2.setContentAreaFilled(false); denglu2.addActionListener(this); } public void actionPerformed(ActionEvent e) { JButton denglu2=(JButton)e.getSource(); if(b.isSelected()) { zh=t2.getText(); String mima=t4.getText(); try { Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver“); Connection c=DriverManager.getConnection(“jdbc:odbc:学生信息系统“); Statement s=c.createStatement( ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE); ResultSet r=s.executeQuery(“select * from 教师信息表 where 教师ID='“+zh+“' and 登录密码='“+mima+“'“); r.last(); if(r.getRow()==1) { mm.setVisible(false); r.beforeFirst(); while(r.next()){ JOptionPane.showMessageDialog( null ,r.getString(“教师姓名“)+“老师!您好!欢迎登录教师管理系统!“ ) ; } JFrame mmm=new JFrame(); mmm.setSize(400,420); mmm.setVisible(true); mmm.setLocation(200,300); mmm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JLabel aaa=new JLabel(“学生信息管理:“);JLabel aaa1=new JLabel(“学生成绩管理:“); JButton b1=new JButton(“显示学生信息“);b1.setBounds(40,45,140,30); JButton b2=new JButton(“添加学生信息“);b2.setBounds(200,45,140,30); JButton b3=new JButton(“修改学生信息“);b3.setBounds(40,90,140,30); JButton b4=new JButton(“删除学生信息“);b4.setBounds(200,90,140,30); JButton b5=new JButton(“录入学生成绩“);b5.setBounds(40,170,140,30); JButton b6=new JButton(“修改学生成绩“);b6.setBounds(200,170,140,30); JButton b7=new JButton(“删除学生成绩“);b7.setBounds(40,215,140,30); JButton b8=new JButton(“查询学生成绩“);b8.setBounds(200,215,140,30); JButton b9=new JButton(“所有成绩排名“);b9.setBounds(40,260,140,30); JButton b12=new JButton(“单科成绩排名“);b12.setBounds(200,260,140,30); JButton b10=new JButton(“退出系统“);b10.setBounds(60,325,100,30); JButton b11=new JButton(“修改密码“);b11.setBounds(220,325,100,30); aaa.setBounds(15,15,90,30); aaa1.setBounds(15,140,90,30); Container n=mmm.getContentPane(); n.setLayout(null); J_ActionListener1 a1=new J_ActionListener1(); J_ActionListener2 a2=new J_ActionListener2(); J_ActionListener3 a3=new J_ActionListener3(); J_ActionListener4 a4=new J_ActionListener4(); J_ActionListener5 a5=new J_ActionListener5(); J_ActionListener7 a7=new J_ActionListener7(); J_ActionListener8 a8=new J_ActionListener8(); J_ActionListener9 a9=new J_ActionListener9(); J_ActionListener10 a10=new J_ActionListener10(); J_ActionListener12 a12=new J_ActionListener12(); J_ActionListener11 a11=new J_ActionListener11(); n.add(b1);n.add(b2);n.add(b3);n.add(b4);n.add(b5);n.add(b6); n.add(b7);n.add(b8);n.add(b9);n.add(b10);n.add(aaa);n.add(aaa1); n.add(b11);n.add(b12);b1.addActionListener(a1);b2.addActionListener(a2); b3.addActionListener(a3);b4.addActionListener(a4);b5.addActionListener(a5); b6.addActionListener(a7);b7.addActionListener(a8);b8.addActionListener(a9); b9.addActionListener(a10); b11.addActionListener(a1)b12.addActionListener(a12); b10.addActionListener(new ActionListener() { public void actionPerformed(final ActionEvent e) { System.exit(0); } }); ((JComponent) mmm.getContentPane()).setOpaque(false); java.net.URL url = Sql.class.getResource(“未命名.jpg“); ImageIcon img = new ImageIcon(url); JLabel background = new JLabel(img); mmm.getLayeredPane().add(background, new Integer(Integer.MIN_VALUE)); background.setBounds(0, 0, img.getIconWidth(), img.getIconHeight()); } else{ JOptionPane.showMessageDialog( null ,“教师ID或密码有误!请重新输入!“) ; } } catch(Exception e1) { e1.printStackTrace(); } }} public static void main(String args[]){ Sql app=new Sql(); app.jiemian(); } } 向数据库添加新的学生信息:
class DataBase{ // DataBase类 public void Add(String xh,String xm,String xb,String bj,String jg,String mm) throws SQLException { //为学籍管理系统添加新记录 try { Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver“); Connection c=DriverManager.getConnection(“jdbc:odbc:学生信息系统“); Statement s=c.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE); ResultSet r=s.executeQuery(“select * from 学籍信息表 where 学号='“+xh+“'“); r.last(); if(r.getRow()==1) { JOptionPane.showMessageDialog( null ,“该学号的学生信息已存在“);} Else if(xh.equals(““)){ //判断新输入的学号是否为空 JOptionPane.showMessageDialog( null ,“学号不能为空“);} else{ s.executeUpdate(“ insert into 学籍信息表 values ('“+xh+“','“+xm+“','“+xb+“','“+ bj+“','“+jg+“','“+mm+“')“); s.close();c.close(); JOptionPane.showMessageDialog( null ,“<html>“+“学号:“+xh+“<br>“+“姓名:“+xm+“<br>“ +“性别:“+xb+“<br>“+“班级号:“+bj+“<br>“ +“籍贯:“+jg+“<br>“ +“登录密码:“+mm+“<br>学生记录添加成功!“ ) ; } } catch (ClassNotFoundException e) {JOptionPane.showMessageDialog( null , “数据添加异常!“ ) ;} } public void DisplayAll(ResultSet r){ JFrame m=new JFrame(“显示所有学生信息“); m.setBounds(60,70,700,600); m.setVisible(true); JTextArea aa=new JTextArea(); aa.setBounds(0,0,700,600); Container c1=m.getContentPane(); c1.setLayout(null); c1.add(aa); try{ r.last(); aa.append(“\t学号“+“\t“+“ 姓名“+“\t“+“性别“+“\t“+“班级“+“\t“+“籍贯“+“\n“); r.beforeFirst(); while(r.next()) { aa.append(“第“+r.getRow()+“行记录: “); aa.append(r.getString(“学号“)); aa.append(“\t“+r.getString(“姓名“)); aa.append(“\t“+r.getString(“性别“)); aa.append(“\t“+r.getString(“班级“)); aa.append(“\t“+r.getString(“籍贯“)+“\n“); } } catch(Exception e) { e.printStackTrace();} } public void DisplayOne(String str22) throws Exception { try { Connection c=DriverManager.getConnection(“jdbc:odbc:学生信息系统“); Statement s=c.createStatement( ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE); ResultSet r=s.executeQuery(“select 学号 ,姓名,性别, 班级名称 as 班级,籍贯 from 学籍信息表 join 班级信息表 on 班级信息表.班级号=学籍信息表.班级号 where 学号='“+str22+“'“); //执行查询的SQL语句 r.last(); int cc=r.getRow(); if(cc==0) { JOptionPane.showMessageDialog( null ,“未查询到相关信息!“ ) ; } else{r.beforeFirst(); while(r.next()) { JOptionPane.showMessageDialog( null ,“<html>“+“ 学号:“+r.getString(“学号“)+“<br>“+“姓名:“+r.getString(“姓名“)+“<br>“ +“性别:“+r.getString(“性别“)+“<br>“ +“班级:“+r.getString(“班级“)+“<br>“ +“籍贯:“+r.getString(“籍贯“)+“<br> 已查询到相关记录!“ ) ; } } } catch(Exception e) { e.printStackTrace();}} public void DeleteXh(String str11) //执行按学号删除学生记录的操作 { try { Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver“); Connection c=DriverManager.getConnection(“jdbc:odbc:学生信息系统“); Statement s=c.createStatement( ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE); ResultSet r=s.executeQuery(“select * from 学籍信息表 where 学号='“+str11+“'“); r.last(); if(r.getRow()==1){ s.executeUpdate(“delete from 学籍信息表 where 学号='“+str11+“'“); JOptionPane.showMessageDialog( null , “学生记录删除成功!“ ) ; } else { JOptionPane.showMessageDialog( null ,“学籍系统中并无相关记录!“ ); } } catch(Exception e) { } } public void DeleteXm(String str13) //执行按姓名删除学生记录的操作 { try {Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver“); Connection c=DriverManager.getConnection(“jdbc:odbc:学生信息系统“); Statement s=c.createStatement( ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE); ResultSet r=s.executeQuery(“select * from 学籍信息表 where 姓名='“+str13+“'“); r.last(); if(r.getRow()==1) {s.executeUpdate(“delete from 学籍信息表 where 姓名='“+str13+“'“); JOptionPane.showMessageDialog( null , “学生记录删除成功!“ ) ;} else{ JOptionPane.showMessageDialog( null ,“学籍系统中并无相关记录!“ ) ; } } catch(Exception e) { } } public void UpdateXh(String xg,String str15,String str16) { try { Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver“); Connection c=DriverManager.getConnection(“jdbc:odbc:学生信息系统“); Statement s=c.createStatement( ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE); ResultSet r=s.executeQuery(“select * from 学籍信息表 where 学号='“+xg+“'“); r.last(); if(r.getRow()==1) { s.executeUpdate(“update 学籍信息表 set “+str15+“='“+str16+“' where 学号='“+xg+“'“); //直接执行SQL语句修改 JOptionPane.showMessageDialog( null , “学生记录修改成功!“ ) ; } else{ JOptionPane.showMessageDialog( null ,“学籍系统中并无相关记录!“ ) ; }; } catch(Exception e) { JOptionPane.showMessageDialog( null ,“学籍系统中并无相关记录!“ ) ; } } public void UpdateXm(String str18,String str19,String str20) { try { Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver“); Connection c=DriverManager.getConnection(“jdbc:odbc:学生信息系统“); Statement s=c.createStatement( ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE); ResultSet r=s.executeQuery(“select * from 学籍信息表 where 姓名='“+str18+“'“); r.last(); if(r.getRow()==1) { s.executeUpdate(“update 学籍信息表 set “+str19+“='“+str20+“' where 姓名='“+str18+“'“); //直接执行SQL语句修改 JOptionPane.showMessageDialog( null , “学生记录修改成功!“ ) ; } else{ JOptionPane.showMessageDialog( null ,“学籍系统中并无相关记录!“ ) ; }; } catch(Exception e) {JOptionPane.showMessageDialog( null ,“学籍系统中并无相关记录!“ ) ; }} public void AddScore(String xh,String kch, String cj){ try { Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver“); Connection c=DriverManager.getConnection(“jdbc:odbc:学生信息系统“); Statement s=c.createStatement( ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE); if(xh.equals(““)||kch.equals(““)||cj.equals(““)){ JOptionPane.showMessageDialog( null ,“输入框不允许为空“); } else{ ResultSet r=s.executeQuery(“select * from 成绩信息表 where 学号='“+xh+“' and 课程号='“+kch+“'“); r.last(); int i=Integer.parseInt(cj); if(r.getRow()==1) { JOptionPane.showMessageDialog( null ,“该学生该科成绩已存在“);} else{ s.executeUpdate(“ insert into 成绩信息表 values ('“+xh+“','“+kch+“','“+i+“')“); JOptionPane.showMessageDialog( null ,“<html>“+“学号:“+xh+“<br>“ +“课程号:“+kch+“<br>“+“成绩:“+cj+“<br> 学生成绩添加成功!“ ) ; } }} catch (Exception e) {JOptionPane.showMessageDialog( null , “成绩输入的学号或者课程号不存在!“ ) ;} } public void UpdateScore(String xh,String kch,String cj) { try { Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver“); Connection c=DriverManager.getConnection(“jdbc:odbc:学生信息系统“); Statement s=c.createStatement( ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE); if(xh.equals(““)||kch.equals(““)||cj.equals(““)){ JOptionPane.showMessageDialog( null ,“输入框不允许为空“); } else{int i=Integer.parseInt(cj); ResultSet r=s.executeQuery(“select * from 成绩信息表 where 学号='“+xh+“' and 课程号='“+kch+“'“); r.last(); if(r.getRow()==1) { s.executeUpdate(“update 成绩信息表 set 成绩='“+i+“' where 学号='“+xh+“' and 课程号='“+kch+“'“); JOptionPane.showMessageDialog( null , “学生成绩修改成功!“ ) ; } else{ JOptionPane.showMessageDialog( null ,“成绩表中并无相关记录!“ ) ; }; }} catch(Exception e) { JOptionPane.showMessageDialog( null ,“学籍系统中并无相关记录!“ ) ; }} public void DeleteScore(String xh,String kch) { try { Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver“); Connection c=DriverManager.getConnection(“jdbc:odbc:学生信息系统“); Statement s=c.createStatement( ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE); ResultSet r=s.executeQuery(“select * from 成绩信息表 where 学号='“+xh+“' and 课程号='“+kch+“'“); r.last(); if(r.getRow()==1){ s.executeUpdate(“delete from 成绩信息表 where 学号='“+xh+“' and 课程号='“+kch+“'“); JOptionPane.showMessageDialog( null , “学生记录删除成功!“ ) ; } else { JOptionPane.showMessageDialog( null ,“学籍系统中并无相关记录!“ ); } }catch(Exception e) { }} public void SearchScore(String xh){ JFrame m=new JFrame(“学号“+xh+“的各科成绩“); m.setBounds(60,70,326,320); m.setVisible(true); JTextArea aa=new JTextArea(); aa.setBounds(0,0,326,320); Container c1=m.getContentPane(); c1.setLayout(null); c1.add(aa); try { Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver“); Connection c=DriverManager.getConnection(“jdbc:odbc:学生信息系统“); Statement s=c.createStatement( ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE); ResultSet r1= s.executeQuery(“select 学号,课程名称,成绩 from 成绩信息表 join 课程信息表 on 成绩信息表.课程号=课程信息表.课程号 “ + “ where 学号='“+xh+“'“); r1.last(); aa.append(“查询到该学生“+r1.getRow()+“科成绩“+“\n“); r1.beforeFirst(); aa.append(“ 学号“+“\t“+“ 课程名称 “+“\t“+“ 成绩“+“\n“); while(r1.next()) { aa.append(r1.getString(“学号“)); aa.append(“\t “+r1.getString(“课程名称“)); aa.append(“\t “+r1.getString(“成绩“)+“\n“); } } catch(Exception e) { e.printStackTrace(); } } public void ListAll(String banji){ JFrame m=new JFrame(banji+“班成绩排名“); m.setBounds(60,70,413,319); m.setVisible(true); JTextArea aa=new JTextArea(); aa.setBounds(0,0,413,319); Container c1=m.getContentPane(); c1.setLayout(null); c1.add(aa); try {Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver“); Connection c=DriverManager.getConnection(“jdbc:odbc:学生信息系统“); Statement s; s = c.createStatement( ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE); String sql=“execute 全班排名 '“+banji+“'“; ResultSet r1= s.executeQuery(sql); r1.last();aa.append(“\t学号“+“\t“+“姓名“+“\t“+“平均分 “+“\t“+“总分“+“\n“); r1.beforeFirst(); for(int i=1;r1.next();i++) { aa.append (“第“+i+“名:“); aa.append (r1.getString(“学号“)); aa.append (“\t“+r1.getString(“姓名“)); aa.append (“\t“+r1.getString(“平均分“)); aa.append (“\t“+r1.getString(“总分“)+“\n“ ); } } catch(Exception e){ e.printStackTrace(); }} public void ListOne(String str1,String str2){ JFrame m=new JFrame(str2+“班“+str1+“科“+“成绩排名“); m.setBounds(60,70,326,320); m.setVisible(true); JTextArea aa=new JTextArea(); aa.setBounds(0,0,326,320); Container c1=m.getContentPane(); c1.setLayout(null); c1.add(aa); try {Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver“); Connection c=DriverManager.getConnection(“jdbc:odbc:学生信息系统“); Statement s; s = c.createStatement( ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE); String sql=“execute 单科成绩排名 '“+str1+“', “+“ '“+str2+“'“; ResultSet r1= s.executeQuery(sql); r1.last(); aa.append(“\t“+“学号“+“\t“+“姓名“+“\t“+“成绩“+“\n“); r1.beforeFirst(); for(int i=1;r1.next();i++) { aa.append(“第“+i+“名:“); aa.append(r1.getString(“学号“)); aa.append(“\t“+r1.getString(“姓名“)); aa.append(“\t“+r1.getString(“成绩“) +“\n“); }} catch(Exception e){ e.printStackTrace(); } } public void AddTeacher(String id,String xm,String mm, String kch,String kcm){ try { Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver“); Connection c=DriverManager.getConnection(“jdbc:odbc:学生信息系统“); Statement s=c.createStatement( ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE); if(id.equals(““)||mm.equals(““)||kch.equals(““)||kcm.equals(““)){ JOptionPane.showMessageDialog( null ,“输入框不允许为空“); } else{ ResultSet r=s.executeQuery(“select * from 教师信息表 where 教师信息表.教师ID='“+id+“' “); r.last(); if(r.getRow()==1) { JOptionPane.showMessageDialog( null ,“您输入的教师ID已存在已存在“);} else{ s.executeUpdate(“ insert into 教师信息表 values ('“+id+“','“+xm+“','“+mm+“')“); s.executeUpdate(“ insert into 课程信息表 values ('“+kch+“','“+kcm+“','“+id+“')“); JOptionPane.showMessageDialog( null ,“<html>“+“教师ID:“+id+“<br>“ +“教师姓名:“+kch+“<br>“ +“登录密码:“+kch+“<br>“ +“课程号:“+kch+“<br>“ +“课程名:“+kcm+“<br> 教师信息添加成功!“ ) ; } }} catch (Exception e) { e.printStackTrace(); } } public void UpdateTeacher(String id,String shuxin,String xin){ try { Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver“); Connection c=DriverManager.getConnection(“jdbc:odbc:学生信息系统“); Statement s=c.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE); ResultSet r=s.executeQuery(“select * from 教师信息表 where 教师ID='“+id+“'“); r.last(); if(r.getRow()==1) { s.executeUpdate(“update 教师课程详细信息 set “+shuxin+“='“+xin+“' where 教师ID='“+id+“'“); / JOptionPane.showMessageDialog( null , “教师信息修改成功!“ ) ; } else{JOptionPane.showMessageDialog( null ,“学籍系统中并无相关记录!“ ) ; }; } catch(Exception e) { e.printStackTrace(); //未有相关的记录 }} public void DeleteTeacher(String xh) //执行按学号删除学生记录的操作 { try { Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver“); Connection c=DriverManager.getConnection(“jdbc:odbc:学生信息系统“); Statement s=c.createStatement( ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE); ResultSet r=s.executeQuery(“select * from 教师信息表 where 教师ID='“+xh+“'“ ); r.last(); if(r.getRow()==1){ s.executeUpdate(“delete from 教师信息表 where 教师ID='“+xh+“'“); JOptionPane.showMessageDialog( null , “教师信息删除成功!“ ) ; } else { JOptionPane.showMessageDialog( null ,“学籍系统中并无相关记录!“ ); } } catch(Exception e) { }} public void DisplayAllTeacher(){ JFrame m=new JFrame(“教师信息列表“); m.setBounds(60,70,433,319); m.setVisible(true); JTextArea aa=new JTextArea(); aa.setBounds(0,0,413,319); Container c1=m.getContentPane(); c1.setLayout(null); c1.add(aa); try { Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver“); Connection c=DriverManager.getConnection(“jdbc:odbc:学生信息系统“); Statement s=c.createStatement( ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE); ResultSet r=s.executeQuery(“select * from 教师课程详细信息 “ ); aa.append(“ 教师ID“+“\t“+“教师姓名“+“\t“+“课程编号“+“\t“+“课程名称“+“\t“+“登录密码“+“\n“); r.last(); r.beforeFirst(); while(r.next()){aa.append(“ “+r.getString(“教师ID“)); aa.append(“\t“+r.getString(“教师姓名“)); aa.append(“\t“+r.getString(“课程号“)); aa.append(“\t“+r.getString(“课程名称“)); aa.append(“\t“+r.getString(“登录密码“) +“\n“); }} catch(Exception e) { } } } 广东海洋大学课程设计

推荐访问: