学生信息管理系统_学学生信息管理系统

2020-02-28 其他范文 下载本文

学生信息管理系统由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“学学生信息管理系统”。

摘 要

随着网络通信技术的迅速发展和信息技术的广泛应用,计算机的应用已普及到经济和社会生活的各个领域。教育领域也不例外,现今已经出现了各种远程网络在线教育系统、图书馆管理系统、学生信息管理系统等。其中学生信息管理是任一院校都不可缺少的部分,它的内容对于学校的决策者和教学管理者来说都至关重要,而传统的人工管理方式效率较低,为数据的查询、更新和维护带来了极大的不便。所以学生信息管理信息系统的开发和应用是必要的,它能够为管理人员提供充足的信息和快捷的查询手段,提高学校对学生信息的管理效率。

本文的学生信息管理系统是基于java语言的,它能够提供学生信息管理功能,方便系统管理员对学生学号、班级等信息的添加、修改、删除、查询等操作,同时可以一样方便的对学生的信息进行查询。本系统也主要利用java语言和acce实现,因此它具有很强的可移植性,很方便。

关键字: 学生信息 管理系统

添加 删除 查询 修改

Abstract With the rapid development of network communication technology and extensive application of information technology, computer applications have spread to the economic and social life in various fields.The field of education is no exception, now there have been a variety of remote network online education system, library management system, student information management system.Which is either a student information management schools are an indispensable part of its contents and teaching for school managers, policy-makers are eential, and the traditional manual management inefficient for data query, update and maintenance brought great inconvenience.So the student information management system development and application of information is neceary, it is able to provide managers with sufficient information and quick inquiry means to improve school student information management efficiency.This student information management system is based on the java language, it is able to provide students with information management function to facilitate system administrators to students student number, cla and other information to add, modify, delete, query and other operations, but can be just as convenient for students information to search.This system is mainly achieved using java language and acce, so it is very portable, very convenient.Keywords: Student Information Management System add delet revise

前言

随着计算机技术的飞速发展,信息时代的到来,信息改变了我们这个社会。学校在管理、教学、办公各个方面也在悄悄地变化。一个学校的信息化程度体现在将计算器与信息技术应用于教学与管理,以现代化工具代替传统手工作业。无疑,使用信息化管理使教学更先进、办公更高效、管理更科学,信息交流更迅速。

学生成绩管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生成绩信息管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。

作为计算机应用的一部分,使用计算机对学生成绩信息进行管理,具有着手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高学生档案管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。

因此,开发这样一套管理软件成为很有必要的事情,故决定选择学生成绩管理系统来作为本人的毕业设计,在很短的时间里开发出一套界面友好,功能强大,使用简单的适用于各规模学院的学生成绩管理系统。该学生成绩管理系统能有效的处理在校学生的成绩管理,具有成绩输入、成绩查询、成绩统计及打印功能。

学生成绩管理系统可以实施应用在各中、大、小院校中,适用范围很广,应用性强。随着系统实施的日益成熟,最终会使单机作业为主的教学管理活动提高到这个平台上来,从而实现学校学生成绩信息管理的办公自动化,籍以提高办学效率和质量。使学校充分利用计算机所带来的新技术,为培养人才打下坚实的基础。

第一章 相关技术简介

1.1 java语言简介

Java语言是sun公司与1995年5月正式发布的程序设计语言,他的前身是sun公司为智能消费类家用电器研究而开发的项目的一部分。

Java程序设计语言是新一代语言的代表,他强调了面向对象的特性,可以用来开发范围广泛的软件,它具有支持图形化的用户界面,网格以及数据库连接等复杂功能。Java语言的主要特点: 1)易于学习

Java语言很简单,对于熟悉C++的程序设计人员更不会对其感到陌生,因 为它的语法非常接近于C++,但他同时摒弃了C++许多的复杂易混淆的功能。利用java同样可以变质出非常复杂的系统,且运行占用很少的内存资源。2)高效率的执行方式

Java语言的执行方式是采用先经过编译器编译,在通过解释器解释执行的 方式来运行的。他综合了解释性语言与编译语言的众多有点,使其执行效率较以往的程序设计语言有了大幅度的提高。3)与平台的无关性

由于iava语言是解释执行的,他会被转换成一种字节码的“目标程序”。因此它可以跨平台运行 4)分布式安全性

Java从诞生之日起就与网络联系在了一起,他强调网络特性,内置TCPIP,HTTP,FTP协议库,便于开发网上应用系统。5)丰富的API文档和类库

Java为用户提供了详尽的API(Application Program Interface)文档说明。

1.2 acce数据库简介

Microsoft Office Acce是微软把数据库引擎的图形用户界面和软件开发工具结合在一起的一个数据库管理。他拥有逻辑、流程处理,即VBA语言(VB也可以用来做逻辑处理);又可以存储数据,即在“表”中存储数据。

第二章 系统分析

2.1 系统分析

学生信息管理系统,可用于学校等机构的学生信息管理,查询,更新与维护,使用方便,易用性强,图形界面清晰明了。该软件用java语言编写,用acce数据库作为后台的数据库进行信息的存储,用SQL语句完成学生学籍信息的添加,查询,修改,删除的操作以及成绩的录入,修改,删除等。用ODBC驱动实现前台Java与后台SQL数据库的连接。Java语言跨平台性强,可以在windows,linux,ubuntu等系统下使用,方便简单,安全性好。

本《学生管理系统》具有对学生进行学籍管理的功能。并于数据库相连接,能够对学生的学号、姓名、性别、班级、专业进行查询、添加和删除等,简捷方便,容易使用。2.2 应解决的问题

2.2.1合理的设计数据库

尽量合理地减少数据库数据的冗余,使重复的数据保持在最小限度,这样将不必要的多占用存储空间,减少产生混乱影响的危险,还能提高计算机的运行速度。作为学生成绩管理系统,必须能解决以下方面的问题:能录入信息。

在开发学生信息管理系统时,最重要的就是学生的基本信息,其学生信息表E-R图如图2.1所示。

图 2.1 学生信息E-R图

2.2.2设计出友好的界面

界面的友好与否是用户评价一个软件优劣的重要方面。因为该系统涉及到

学生成绩的真实性,所以该系统要具有一定的保密性和权限控制,首先应设计一个用户的登陆窗口界面,要求只能由特定的人员对该系统进行操作。此外还应设计登陆后系统的主窗口,要求能够显示学生成绩的基本信息,可以实现数据的录入,更新,删除、查询、统计等功能。

另外窗口界面要多用按钮,少用菜单,窗口的各个控键布局要合理,美观。要充分的利用java.awt和java.swing提供的强大的功能,多用窗口和控件,充分体现窗口的多元化格局。

2.2.3实现的基本功能

该系统要求除了能实现信息的录入,删除,插入,更新,数据导出excel文件等基本功能之外,还要求能够根据用户的需要进行操作。例如要查询学生成绩,要求可以按照专业、班级等多种方式查询。这些功能基本上能满足用户操作的需要,这样用户操作起来就更简单方便。部分文本框使用了下拉式,使用户可以不用花费大量的时间去输入信息。

2.3 数据库物理设计 1.1.1 3.3.1数据库物理设计

本系统采用Acce数据库管理系统作为后台数据库的开发工具,设计的表结构如下:

第三章 程序代码及运行效果

3.1主类代码:

/*主类代码*/ package kcsj;import java.awt.*;import javax.swing.*;import java.awt.event.*;

import javax.swing.border.*;import javax.swing.JOptionPane;import javax.swing.JLabel;import javax.swing.JPanel;import javax.swing.table.DefaultTableCellRenderer;import javax.swing.table.DefaultTableModel;import javax.swing.table.TableColumn;import java.sql.*;import java.awt.GridLayout;public cla myStudent { public myStudent(){

}

public static void main(String[] args){ // TODO code application logic here loginFrame lf=new loginFrame();Font ft=new Font(“Serif”,Font.BOLD,18);lf.setVisible(true);lf.addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent e){

System.exit(0);} });} }

3.2 登陆: public loginFrame(){

p=new JPanel();

user=new JTextField(10);

pa=new JPawordField(10);

login=new JButton(“登录”);

cancel=new JButton(“退出”);

p.setBackground(Color.lightGray);

//user.setText(“王明玉”);

//pa.setText(“123456”);

login.addActionListener(this);

cancel.addActionListener(this);

p.add(new JLabel(“学生信息管理系统登录”));

p.add(new JLabel(“账号:”));

p.add(user);

p.add(new JLabel(“密码:”));

p.add(pa);

p.add(login);

p.add(cancel);

this.add(p);

this.setTitle(“学生管理系统登录界面”);

this.setSize(180,160);}

public void actionPerformed(ActionEvent e){

//查找

if(e.getSource()==login){

if(user.getText().toString().equals(“”)){

JOptionPane.showMeageDialog(null, “请输入用户名”, “温馨提示”, JOptionPane.INFORMATION_MESSAGE);

}else if(pa.getText().toString().equals(“”)){

JOptionPane.showMeageDialog(null, “请输入密码”, “温馨提示”, JOptionPane.INFORMATION_MESSAGE);

}else{

myConnection conn=new myConnection();

ResultSet rs;

String sql=“select * from admin where 用户名 = '”+user.getText().toString()+“' and 密码 = '”+pa.getText().toString()+“'”;

try{

rs=conn.getResult(sql);

if(rs.next()){

this.dispose();

//JOptionPane.showMeageDialog(null, “此用户已经存在”, “温馨提示”, JOptionPane.INFORMATION_MESSAGE);

sql=“select * from student”;

mainFrame mf=new mainFrame();

mf.setTitle(“西北师范大学学生信息管理系统”);

mf.setSize(600,486);

mf.freshTable(sql);

mf.setVisible(true);

mf.addWindowListener(new WindowAdapter(){

public void windowClosing(WindowEvent e){

System.exit(0);

}

});

}else{

JOptionPane.showMeageDialog(null, “用户名或密码错误”, “登录失败”, JOptionPane.INFORMATION_MESSAGE);

}

}catch(Exception er){

System.out.println(er.toString());

}

}

//全部显示

}if(e.getSource()==cancel){

System.exit(0);

} } } 登陆界面:

3.3 修改数据:

/*修改数据*/ cla editFrame extends JDialog implements ActionListener{ public static final int WIDTH = 400;public static final int HEIGHT = 400;

JLabel 学号1,姓名1,性别1,民族1,年龄1,年级1,班级1,专业1;JTextField 学号,姓名,性别,民族,年龄,年级,班级,专业;JButton b;JPanel p;

mainFrame mf;

public editFrame(mainFrame mmf){ setTitle(“修改学生信息”);setSize(WIDTH,HEIGHT);setLocation(120,180);

Container contentPane = getContentPane();contentPane.setLayout(new FlowLayout());

学号1=new JLabel(“学号”);姓名1=new JLabel(“姓名”);性别1=new JLabel(“性别”);民族1=new JLabel(“民族”);年龄1=new JLabel(“年龄”);年级1=new JLabel(“年级”);班级1=new JLabel(“班级”);

专业1=new JLabel(“专业”);

学号=new JTextField(5);姓名=new JTextField(5);性别=new JTextField(5);民族=new JTextField(5);年龄=new JTextField(5);年级=new JTextField(5);班级=new JTextField(10);专业=new JTextField(10);学号.setEnabled(false);b=new JButton(“确定”);p=new JPanel();p.setLayout(new GridLayout(10,2,5,5));p.add(学号1);p.add(学号);p.add(姓名1);p.add(姓名);p.add(性别1);p.add(性别);p.add(民族1);p.add(民族);p.add(年龄1);p.add(年龄);p.add(年级1);p.add(年级);p.add(班级1);p.add(班级);p.add(专业1);p.add(专业);p.add(new Label(“”));p.add(new Label(“”));p.add(b);contentPane.add(p);//添加按钮监听器

b.addActionListener(this);mf=mmf;}

public void actionPerformed(ActionEvent e){

if(学号.getText().toString().equals(“”)){

JOptionPane.showMeageDialog(null,“请输入学号”,“温馨提示”, JOptionPane.INFORMATION_MESSAGE);

}else if(姓名.getText().toString().equals(“”)){

JOptionPane.showMeageDialog(null,“请输入姓名”,“温馨提示”, JOptionPane.INFORMATION_MESSAGE);

}else if(年龄.getText().toString().equals(“”)){

JOptionPane.showMeageDialog(null,“请输入年龄”,“温馨提示”, JOptionPane.INFORMATION_MESSAGE);

}else{

String sql=“update student set 姓名='”+姓名.getText()+“',性别='”+性别.getText()+“',年龄=”+年龄.getText()+“,年级='”+年级.getText()+“',班级='”+班级.getText()+“',专业='”+专业.getText()+“',民族='”+民族.getText()+“' where 学号='” + 学号.getText()+ “'”;

myConnection conn=new myConnection();

try{

//JOptionPane.showMeageDialog(null, sql, “温馨提示”, JOptionPane.INFORMATION_MESSAGE);

if(conn.executeSql(sql)){

JOptionPane.showMeageDialog(null, “修改成功”, “温馨提示”, JOptionPane.INFORMATION_MESSAGE);

mf.freshTable(“select * from student”);

this.dispose();

}else{

JOptionPane.showMeageDialog(null, “修改失败”, “温馨提示”, JOptionPane.INFORMATION_MESSAGE);

}

}catch(Exception er){

System.out.println(er.toString());

}

}

}

}

3.4 查找数据:

cla findFrame extends JDialog implements ActionListener{

mainFrame mf;JPanel p;JComboBox c;JTextField t;JButton b;JButton fAll;String sql=“select * from student”;String[] colStr={“学号”,“姓名”,“性别”,“民族”,“年龄”,“年级”,“班级”,“专业”};

public findFrame(mainFrame mmf){

mf=mmf;

p=new JPanel();

c=new JComboBox(colStr);

t=new JTextField(10);

b=new JButton(“查找”);

fAll=new JButton(“全部显示”);

b.addActionListener(this);

fAll.addActionListener(this);

p.add(new JLabel(“选择”));

p.add(c);

p.add(new JLabel(“查找内容”));

p.add(t);

p.add(b);

p.add(fAll);

this.add(p);

this.setTitle(“查找”);

this.setSize(450,80);}

public void actionPerformed(ActionEvent e){

//查找

if(e.getSource()==b){

String selectStr=c.getSelectedItem().toString();

if(selectStr==“年龄”){

sql=“select * from student where ”+selectStr+“ ”+t.getText().toString();

}

else {

sql=“select * from student where ”+selectStr+“ '”+t.getText().toString()+“'”;

= = 12

}

mf.freshTable(sql);

//全部显示

}if(e.getSource()==fAll){

sql=“select * from student”;

mf.freshTable(sql);

} } }

3.5 添加数据:

cla addFrame extends JDialog implements ActionListener{ public static final int WIDTH = 400;public static final int HEIGHT = 400;

JLabel 学号1,姓名1,性别1,民族1,年龄1,年级1,班级1,专业1;JTextField 学号,姓名,性别,民族,年龄,年级,班级,专业;JButton b;JPanel p;

mainFrame mf;

public addFrame(mainFrame mmf){ setTitle(“修改学生信息”);setSize(WIDTH,HEIGHT);setLocation(120,180);

Container contentPane = getContentPane();//contentPane.setBackground(Color.BLACK);//设置窗口颜色

contentPane.setLayout(new FlowLayout());

学号1=new JLabel(“学号”);

姓名1=new JLabel(“姓名”);

性别1=new JLabel(“性别”);

民族1=new JLabel(“民族”);

年龄1=new JLabel(“年龄”);

年级1=new JLabel(“年级”);

班级1=new JLabel(“班级”);

专业1=new JLabel(“专业”);

学号=new JTextField(“201071030240”,5);

姓名=new JTextField(5);

性别=new JTextField(“女”,5);

民族=new JTextField(5);

年龄=new JTextField(5);

年级=new JTextField(5);

班级=new JTextField(10);

专业=new JTextField(10);

b=new JButton(“确定”);p=new JPanel();p.setLayout(new GridLayout(10,2,5,5));p.add(学号1);p.add(学号);p.add(姓名1);p.add(姓名);p.add(性别1);p.add(性别);p.add(民族1);p.add(民族);p.add(年龄1);p.add(年龄);p.add(年级1);p.add(年级);p.add(班级1);p.add(班级);p.add(专业1);p.add(专业);p.add(new Label(“”));p.add(new Label(“”));p.add(b);contentPane.add(p);//添加按钮监听器

b.addActionListener(this);mf=mmf;}

public void actionPerformed(ActionEvent e){

if(学号.getText().toString().equals(“”)){

JOptionPane.showMeageDialog(null, “请输入学号”, “温馨提示”, JOptionPane.INFORMATION_MESSAGE);

}else if(姓名.getText().toString().equals(“”)){

JOptionPane.showMeageDialog(null, “请输入姓名”, “温馨提示”, JOptionPane.INFORMATION_MESSAGE);

}else if(年龄.getText().toString().equals(“”)){

JOptionPane.showMeageDialog(null, “请输入年龄”, “温馨提示”, JOptionPane.INFORMATION_MESSAGE);

}else{

String sql=“select * from student where 学号='” + 学号.getText()+ “'”;

myConnection conn=new myConnection();

ResultSet rs;

rs=conn.getResult(sql);

try{

//System.out.println(rs.getRow());

if(rs.next()){

JOptionPane.showMeageDialog(null, “此学号已经存在”, “温馨提示”, JOptionPane.INFORMATION_MESSAGE);

}else{

sql=“insert into student values('” +学号.getText()+“','”+ 姓名.getText()+“','”+ 性别.getText()+“','”+ 民族.getText()+“',”+ 年龄.getText()+“,'”+ 年级.getText()+“','”+ 班级.getText()+“','”+ 专业.getText()+“')”;

if(conn.executeSql(sql)){

JOptionPane.showMeageDialog(null, “添加成功”, “温馨提示”, JOptionPane.INFORMATION_MESSAGE);

mf.freshTable(“select * from student”);

学号.setText(“”);

姓名.setText(“”);

性别.setText(“”);

民族.setText(“”);

年龄.setText(“”);

年级.setText(“”);

班级.setText(“”);

专业.setText(“”);

}else{

JOptionPane.showMeageDialog(null, “添加失败”, “温馨提示”, JOptionPane.INFORMATION_MESSAGE);

}

}

}catch(Exception er){

System.out.println(er.toString());

}

}

}

}

3.6 修改数据:

cla editFrame extends JDialog implements ActionListener{ public static final int WIDTH = 400;public static final int HEIGHT = 400;

JLabel 学号1,姓名1,性别1,民族1,年龄1,年级1,班级1,专业1;JTextField 学号,姓名,性别,民族,年龄,年级,班级,专业;JButton b;JPanel p;

mainFrame mf;

public editFrame(mainFrame mmf){ setTitle(“修改学生信息”);setSize(WIDTH,HEIGHT);setLocation(120,180);

Container contentPane = getContentPane();contentPane.setLayout(new FlowLayout());

学号1=new JLabel(“学号”);

姓名1=new JLabel(“姓名”);

性别1=new JLabel(“性别”);

民族1=new JLabel(“民族”);

年龄1=new JLabel(“年龄”);

年级1=new JLabel(“年级”);

班级1=new JLabel(“班级”);

专业1=new JLabel(“专业”);

学号=new JTextField(5);

姓名=new JTextField(5);

性别=new JTextField(5);

民族=new JTextField(5);

年龄=new JTextField(5);

年级=new JTextField(5);

班级=new JTextField(10);

专业=new JTextField(10);

学号.setEnabled(false);

b=new JButton(“确定”);p=new JPanel();p.setLayout(new GridLayout(10,2,5,5));p.add(学号1);p.add(学号);

p.add(姓名1);p.add(姓名);p.add(性别1);p.add(性别);p.add(民族1);p.add(民族);p.add(年龄1);p.add(年龄);p.add(年级1);p.add(年级);p.add(班级1);p.add(班级);p.add(专业1);p.add(专业);p.add(new Label(“”));p.add(new Label(“”));p.add(b);contentPane.add(p);//添加按钮监听器

b.addActionListener(this);mf=mmf;}

public void actionPerformed(ActionEvent e){

if(学号.getText().toString().equals(“”)){

JOptionPane.showMeageDialog(null, “请输入学号”, “温馨提示”, JOptionPane.INFORMATION_MESSAGE);

}else if(姓名.getText().toString().equals(“”)){

JOptionPane.showMeageDialog(null, “请输入姓名”, “温馨提示”, JOptionPane.INFORMATION_MESSAGE);

}else if(年龄.getText().toString().equals(“”)){

JOptionPane.showMeageDialog(null, “请输入年龄”, “温馨提示”, JOptionPane.INFORMATION_MESSAGE);

}else{

String sql=“update student set 姓名='”+姓名.getText()+“',性别='”+性别.getText()+“',年龄=”+年龄.getText()+“,年级='”+年级.getText()+“',班级='”+班级.getText()+“',专业='”+专业.getText()+“',民族='”+民族.getText()+“' where 学号='” + 学号.getText()+ “'”;

myConnection conn=new myConnection();

try{

//JOptionPane.showMeageDialog(null, sql, “温馨提示”, JOptionPane.INFORMATION_MESSAGE);

if(conn.executeSql(sql)){

JOptionPane.showMeageDialog(null, “修改成功”, “温馨提示”, JOptionPane.INFORMATION_MESSAGE);

mf.freshTable(“select * from student”);

this.dispose();

}else{

JOptionPane.showMeageDialog(null, “修改失败”, “温馨提示”, JOptionPane.INFORMATION_MESSAGE);

}

}catch(Exception er){

System.out.println(er.toString());

}

} } }

运行效果:

第四章 总结

通过本次课程设计,不仅让我更深入的了解JAVA这门学科,更使自己有了继续探索的兴趣。

对我来说,在之前的学习过程中没有能够很好的掌握JAVA语言的学习,在很多地方还有生疏和遗漏,并且在此次课程设计过程中也遇到困难不能自己独立解决。但是,通过这次程序设计,除了增加了自己的编程能力,提高了我对JAVA的应用能力,同时我也深感“认真严谨”这个词的重要性,一点点小的马虎,便会导致整个程序不能正常运行。在今后的学习中,我将继续保持严谨的学习态度。与此同时,在同学的帮助下,让我体会到了相互学习的重要性,而更让人难以忘怀的是在热烈讨论问题时,那激情横溢的场面。总之,此次课程设计让我获益匪浅。

第五章 总结

课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.本次课程设计虽然很辛苦,实在是受益匪浅。本来这门课的知识学的就不够扎实,本次课程设计,在设计过程中碰到了很多问题,刚开始要设计的时候,还真不知道从哪里下手但最终在图书、同学和老师的帮助下都得到了解决,让我学会了好多书本上没有的东西,通过本次课程设计我也能将课本上的知识融会贯通,起到了很好的辅助学习的效果,但是我发现我学到的知识比整整一个学期学到的都多。理

论和实践的相结合是学习最有效的方法。在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,通过这次课程设计之后,一定把以前所学过的知识重新温故。

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

第六章 参考文献

《学生信息管理系统.docx》
将本文的Word文档下载,方便收藏和打印
推荐度:
学生信息管理系统
点击下载文档
相关专题 学学生信息管理系统 学生 信息管理系统 学学生信息管理系统 学生 信息管理系统
[其他范文]相关推荐
    [其他范文]热门文章
      下载全文