JAVA+SQL学生学籍管理系统代码及实验报告

合集下载

Java学生管理系统实验报告

Java学生管理系统实验报告

学生管理系统实验报告学期:2018-2019课程名称:《Java程序设计实验》一、实验目的1.掌握JDK的安装与环境变量的配置,熟练使用Eclipse、WindowBulider插件、navicat和MySql。

2.熟练掌握Java基础语法与程序结构,了解面向对象的编程思想,掌握封装、构造方法和访问权限。

3.理解继承的概念和意义,掌握继承关系。

4.理解接口的概念和意义,掌握实现接口的方法。

5.掌握异常处理的方法。

6.掌握Java Swing,学会创建GUI界面,熟练使用MVC结构,掌握事件处理。

7.掌握MySql基础语句,操作MySql数据库。

二、实验内容a.管理系统功能1.实现登录界面与相应功能。

用户填写正确账号与密码并选择用户身份后即可实现登陆并跳转至主界面。

2.实现主界面与相应功能。

此界面功能包括学生管理、成绩管理、教师管理、系统设置和帮助。

其中系统设置包括修改密码,退出账号和关闭系统。

帮助包括关于作者、版本信息和意见反馈。

3.实现管理学生界面与相应功能。

可对学生信息进行添加、查询、修改和删除的操作。

4.实现管理成绩界面与相应功能。

可查询到学生并对其成绩信息进行编辑。

5.实现管理教师界面与相应功能。

可对教师信息进行添加、查询、修改和删除的操作。

6.实现修改密码界面与相应功能。

7.实现用户权限功能。

管理员权限为最高,可操作本系统所有功能。

学生可查看、修改自己的信息,查看自己的成绩,但不得添加、查询、删除他人信息与成绩。

教师可查看、修改自己的信息,查询、编辑学生的成绩信息,但不得添加、修改、删除学生信息,不得添加、查询、修改、删除其他教师信息。

8.实现退出账号、关闭系统、关于作者、版本信息、意见反馈和显示当前用户信息功能。

b.设计思路1.利用WindowBuilder插件可视化编写GUI界面。

2.利用MySql数据库保存学生、教师和管理员的信息,并用navicat管理数据库。

使用MVC框架,有以下几个包:model包(模型)、view包(视图)、images包(图像)、util包(自己定义的工具)、dao包(面向对象的数据库接口)。

JAVA+SQL学生学籍管理系统代码及实验报告

JAVA+SQL学生学籍管理系统代码及实验报告

学生学籍管理系统1课程设计目的、设计内容与需求分析1.1 课程设计目的通过本次课程设计的实践操作,能够让学生懂得Java、SQL的各种相关知识的使用,真正的提高学生独立开发设计Java程序,把课堂上的知识运用在实践上,一门编程语言只有在不断实践操作和练习上才会有进步。

1.2软件设计内容学生学籍管理系统,可用于学校等机构的学生信息管理,查询,更新与维护,使用方便,易用性强,图形界面清晰明了。

该软件用java语言编写,用SQLServer2005数据库作为后台的数据库进行信息的存储,用SQL语句完成添加,查询,修改,删除的操作。

用ODBC驱动实现前台Java与后台SQL数据库的连接。

Java语言跨平台性强,可以在windows,linux,ubuntu等系统下使用,方便简单,安全性好。

SQLServer2005数据库高效安全,两者结合可相互利用各自的优势。

系统可供输入的属性有“学号”,“姓名”,“性别”,“班级”,“学院”,“籍贯”。

该系统实现的大致功能:1.管理员登陆界面。

该界面可以输入管理员号,登陆密码。

用户通过验证通过后方可进入管理系统。

一定程度上保证了信息安全性,防止他人未经允许篡改学生信息。

2.查询学生信息。

可以选择由用户选择“显示系统中当前的所有学生信息”。

也可以选择按照“某一个学号查询该学号的学生信息”。

查询到的信息会在窗口中依次显示出来。

3.添加学生信息。

可以按照图形的界面的显示依次输入新学生的“学号”,“姓名”,“性别”,“班级”,“学院”,“籍贯”。

完成新纪录的添加。

4.修改学生信息。

可以选择按照“学号”或者“姓名”找到该学生的学生信息并输入要修改的属性,并输入新的数据。

完成对学生记录的修改。

5.删除学生记录。

可以根据输入的“学号”或者”姓名”进行删除的操作。

1.3需求分析在一些学校等机构,随着学生数量的不断增加,学生的信息不断增多,人工管理信息的难度也越来越大。

而且效率也是很低的。

java学生信息管理系统实验报告(共10篇)

java学生信息管理系统实验报告(共10篇)

java学生信息管理系统实验报告(共10篇)JAVA学生信息管理系统实验报告JAVA程序设计实验报告学号:姓名:班级:实验、Java课程设计--------学生信息管理系统一、实验目的1.掌握Java基本语法2.理解面向对象编程特点3.理解Java I/O编程4.掌握Java图形界面编程5.掌握Java与不同数据库进行连接二、预习内容Java的基本语法知识、类和对象、Java Swing图形界面编程、Java I/O处理以及Java与数据库连接操作三、实验设备与环境通过局域网互联,安装Windows 2000/XP操作系统环境的JDK1.6,my eclipse或者EditPlus编程工具。

并安装MySQL数据库四、实验内容编写并调试运行Java程序,进行设计,掌握Java开发的基础。

五、实验任务设计学生信息管理系统。

要求包括1. 登陆模块:设立超级管理员权限,用户可以根据不同的权限登陆系统,超级管理员可以对学生信息进行增、删、改、查操作。

而普通用户只可以查找学生信息。

2. 包括学生添加信息模块、学生信息删除模块、学生信息修改模块和学生信息查询模块3.对于管理员,可以对管理员进行添加、删除以及修改密码等操作。

六、实验报告(要求独立完成参考程序的代码、编译、调试与运行)1、程序清单:1.1程序模块清单package Pan;import java.awt.event.ItemListener;import javax.swing.*;import ponent;import java.awt.BorderLayout;import java.awt.FlowLayout;import java.awt.event.InputEvent;import java.awt.event.ItemListener;import java.awt.event.KeyEvent;import java.awt.event.ActionListener;import java.awt.event.ActionEvent;import java.util.*;import java.awt.Color;import java.text.DecimalFormat;import java.sql.*;import java.sql.Date;import java.awt.*;import java.util.Vector;public class Res{/*** @param args*/public static void main(String[] args){FirstWindow win =new FirstWindow(学生信息管理系统); }}class FirstWindow extends JFrame implements ActionListener {JMenuBar menubar;JMenu menu1,menu2,menu3,menu4;public final JMenuItem a11,a12,a13,a14,a15,a16,a17; public final JMenuItem a21,a22,a23,a24;public final JMenuItem a3;public final JMenuItem a4;public final JButton btn;JPanel pnl;JLabel label;boolean flag;FirstWindow(String s){setTitle(s);setSize(400,400);setLocation(100,100);setVisible(true);setDefaultCloseOperation(3);pnl=new JPanel();this.getContentPane().add(pnl);pnl.setLayout(new BorderLayout());label=new JLabel(欢迎使用学生管理系统,JLabel.CENTER);label.setForeground(Color.red);pnl.add(label,BorderLayout.CENTER);menubar=new JMenuBar();menu1=new JMenu(使用);menu2=new JMenu(用户管理);menu3=new JMenu(帮助);menu4=new JMenu(退出);a11=new JMenuItem(管理员登录);a12=new JMenuItem(查询学生信息);a13=new JMenuItem(更改学生信息);a14=new JMenuItem(删除学生信息);a15=new JMenuItem(添加学生信息);a16=new JMenuItem(超级管理员登录);篇二:java学生成绩管理系统实验报告JAVA课内实验报告学生成绩管理系统一. 实验目的及实验环境实验目的:在如今的高校日常管理当中,学生成绩管理系统就是其中非常重要的一环,特别是当前学生规模大,课程门类多,校区分散等实际情况,学生成绩管理系统更具有非常大的实际应用意义。

SQL数据库系统实验报告(含代码、截图)

SQL数据库系统实验报告(含代码、截图)

设有一学籍管理系统,其数据库名为“EDUC”。

初始大小为 10MB,最大为50MB,数据库自动增长,增长方式是按5%比例增长;日志文件初始为2MB,最大可增长到5MB,按1MB增长。

数据库的逻辑文件名为“student_data”, 物理文件名为“student_data.mdf,存放路径为“E:\sql_data”(注意:此文件名必须已经建立的前提下才可以此操作)。

日志文件的逻辑文件名为“student_log”, 物理文件名为“student_log.ldf”,存放路径为“E:\sql_data”。

四.实验步骤1.使用SQL Server Management Studio(简称SSMS)创建数据库。

(1)启动SSMS在开始菜单中:所有程序-SQL Server 2005 -SQL Server Management Studio单击“连接”按钮,便可以进入【SQL Server Management Studio】窗口。

如果身份验证选择的是“混合模式”,则要输入sa的密码。

(2)建立数据库在“对象资源管理器”窗口,建立上述数据库EDUC。

在数据库节点上右击选择新建。

同时建立一个同样属性的数据库EDUC1。

2. 使用向导删除上面建立的数据库。

用SSMS删除建立的数据库EDUC。

3、数据库的分离将刚建好的数据库分离出来,即点击新建的EDUC——任务——分离,将删除连接和更新打一个钩,然后点击确定。

如图所示:4、数据分离出来之后可以附加进去。

即右击数据库——附加——点击添加按钮,找到数据库文件.mdf所存放的路径,然后点击确定,即可以将我们刚所创建的文件添加回去。

五.实验总结通过本次实验,我熟悉了SQL Server 中SQL Server Management Studio的环境,了解了SQL Server 数据库的逻辑结构和物理结构,掌握使用向导创建和删除数据库的方法。

加深了对数据库的认识和理解。

基于java的学籍管理系统实训报告

基于java的学籍管理系统实训报告

基于Java的学籍管理系统实训报告一、引言本实训报告旨在详细介绍基于Java的学籍管理系统的设计与实现。

学籍管理系统是一套用于管理学校学生学籍信息的软件系统,能够方便地记录和查询学生的个人信息、学习成绩、奖惩情况等。

二、需求分析为了更好地满足学校对学籍管理的需求,我们分析了用户需求,并根据需求设计了系统的功能模块,包括学生信息管理、课程管理、成绩管理、奖惩管理等。

根据系统需求,我们选择使用Java语言进行开发。

三、系统设计3.1 学生信息管理在学生信息管理模块中,我们设计了以下功能:•添加学生信息:包括学生姓名、性别、年龄等基本信息。

•修改学生信息:可以对学生的基本信息进行修改。

•查询学生信息:可以根据学生的学号或姓名进行查询。

3.2 课程管理课程管理模块包括以下功能:•添加课程:包括课程名称、授课教师、学分等信息。

•修改课程信息:对课程的基本信息进行修改。

•查询课程信息:可以根据课程名称或教师姓名进行查询。

3.3 成绩管理成绩管理模块包括以下功能:•录入学生成绩:包括学生学号、课程名称、成绩等信息。

•修改学生成绩:可以对学生成绩进行修改。

•查询学生成绩:可以根据学生学号或课程名称进行查询。

3.4 奖惩管理奖惩管理模块包括以下功能:•添加奖惩信息:包括学生学号、奖惩类型、奖惩原因等信息。

•修改奖惩信息:可以对奖惩信息进行修改。

•查询奖惩信息:可以根据学生学号进行查询。

四、实现过程为了实现学籍管理系统,我们采用了Java语言和MySQL数据库。

以下是系统实现的步骤:1.设计数据库表结构:根据需求分析,设计了学生表、课程表、成绩表和奖惩表的结构,并创建了相应的表。

2.编写Java类:根据功能模块,编写了学生类、课程类、成绩类和奖惩类的Java类,定义了相应的属性和方法。

3.连接数据库:使用Java的JDBC技术连接MySQL数据库,并编写了数据库操作类,实现对数据库的增删改查操作。

4.编写用户界面:使用Swing组件库,设计了用户界面,包括添加学生信息、查询成绩、修改奖惩信息等操作的界面。

JAVA学生信息管理系统实验报告

JAVA学生信息管理系统实验报告

JAVA学生信息管理系统实验报告一、实验目的1. 掌握Java面向对象编程思想;2. 熟悉Java GUI编程基本知识;3. 熟悉Java文件读写操作;4.培养实际问题分析及解决能力。

二、实验要求设计并实现一个Java学生信息管理系统,具备以下功能:1.界面要简洁、美观,方便用户操作;2.能够实现学生信息的录入、查询、修改、删除和展示功能;3.学生信息至少包括学号、姓名、性别、年龄、院系等基本信息;4.学生信息的存储要求使用文件保存。

三、实验设计1. 界面设计:使用Java Swing库设计界面,包括菜单栏、工具栏、按钮、文本框等组件,通过布局管理器实现界面的合理布局;2. 文件读写操作:使用Java的文件读写类实现学生信息的读取、保存和更新,例如使用FileReader、FileWriter等类;3. 数据结构设计:定义一个学生类,包含学号、姓名、性别、年龄、院系等成员变量,实现get和set方法;4.功能实现:根据用户的操作,实现学生信息的录入、查询、修改、删除等功能。

四、实验步骤1.创建项目并导入相关库文件;2.创建学生类,定义学生的基本信息和操作方法;3.创建主界面,包括菜单栏、工具栏、按钮等组件,并设置布局管理器;4.编写界面事件监听器,实现按钮的点击响应;5.实现学生信息录入功能,包括将信息写入文件;6.实现学生信息查询功能,读取文件中的学生信息并展示;7.实现学生信息修改和删除功能,更新文件中的学生信息;8.编写实验报告。

五、实验结果成功实现了Java学生信息管理系统,具备录入、查询、修改和删除功能。

主界面简洁美观,用户操作便捷。

学生信息存储在文件中,可以进行读写操作。

六、实验心得通过这次实验,我进一步熟悉了Java面向对象编程思想和GUI编程基本知识。

实践中,我遇到了一些问题,例如界面布局、事件监听和文件读写等方面,但通过查找资料和反复调试,最终解决了这些问题。

通过这个实验,我对Java的掌握程度更加深入了解,提高了实际问题分析及解决能力。

java+SQL做的学生管理系统

java+SQL做的学生管理系统

这个学生管理系统,我用Java的JDK1.6开发工具和微软的Microsoft SQL Server数据库两者相结合做出来的。

主界面以下是我的走过的路径:一数据库的设计:1创建数据库StudentManager图1.0图1.2//创建数据库连接类public class DBConnect{//静态方法提高数据库的连接效率public static Connection getConn() throws Exception{//加载JDBC驱动//以系统用户身份,连接数据库StudentManagerreturn DriverManager.getConnection("jdbc:odbc:StudentManager","","");}}3.2“关于”对话框的代码(文件名:MainFrame_AboutBox.java)//导入系统的类包import java.awt.*;import javax.swing.*;//创建对话框类public class MainFrame_AboutBox extends JDialog{//JPanel jpanel1=new JPanel();//创建标签对象this(new JFrame(),"MainFrame_AboutBox",false);}//界面初始化方法private void jbInit() throws Exception{//面板的布局jpanel1.setLayout(null);//设置标签组件的大小jLabel1.setBounds(new Rectangle(46,28,249,39));jLabel2.setBounds(new Rectangle(49,76,174,28));jLabel3.setBounds(new Rectangle(47,121,126,27));//将对话框面板添加到内容面板?getContentPane().add(jpanel1);//添加标签到内容面板jpanel1.add(jLabel1);jpanel1.add(jLabel2);jpanel1.add(jLabel3);setSize(260,220);}}3.3添加学生面板类的代码(文件名:AddStudentPanel.java)JRadioButton jRadioButton2=new JRadioButton("女");ButtonGroup buttonGroup1=new ButtonGroup();JButton jButton1=new JButton("存入数据库");//构造方法public AddStudentPanel(){try{//调用初始化方法jbInit();}catch(Exception exception){exception.printStackTrace();}}//界面初始化方法private void jbInit() throws Exception {//连接数据库con=DBConnect.getConn();st=con.createStatement();//框架的布局this.add(jTextField2);this.add(jRadioButton1);this.add(jRadioButton2);this.add(jLabel3);this.add(jLabel4);this.add(jTextField3);this.add(jLabel6);this.add(jTextField4);this.add(jLabel5);this.add(jButton1);buttonGroup1.add(jRadioButton1);buttonGroup1.add(jRadioButton2);}//点击按钮事件public void actionPerformed(ActionEvent e){//获取用户输入的信息String xuehao=jTextField1.getText();String xingming=jTextField2.getText();String xingbie="";if(jRadioButton1.isSelected())}}}3.4删除学生面板类的代码(文件名:DeleteStudentPanel.java)//导入系统的类包import java.awt.*;import java.sql.*;import javax.swing.*;//创建“删除学生面板”类public class DeleteStudentPanel extends JPanel implements ActionListener{//声明连接数据库对象Connection con;//声明SQL语句对象Statement st;//创建组件对象JLabel jLabel1=new JLabel("请输入待删除的学生的学号:");JTextField jTextField1=new JTextField();JButton jButton1=new JButton("删除");//构造方法public DeleteStudentPanel()//添加组件到面板this.add(jLabel1);this.add(jTextField1);this.add(jButton1);}//点击按钮事件public void actionPerformed(ActionEvent e){//获取用户输入的学号String xuehao=jTextField1.getText();//要求用户确认删除if(JOptionPane.showConfirmDialog(this,"确认要删除吗?")==JOptionPane.YES_OPTION){try{//利用st对象执行SQL删除操作st.executeUpdate("delete from StudentInfo where 学号='"+xuehao+"'");//利用消息对话框提示删除操作成功JOptionPane.showMessageDialog(this,"删除操作成功!");//清空输入学号的文本行jTextField1.setText("");JButton jButton1=new JButton("按姓名查询");JScrollPane jScrollPane1=new JScrollPane();JTextArea jTextArea1=new JTextArea();//构造方法public InquireOnNamePanel(){try{//调用初始化方法jbInit();}catch(Exception exception){exception.printStackTrace();}}//面板初始化方法private void jbInit() throws Exception{//连接数据库con=DBConnect.getConn();st=con.createStatement();//框架的布局try{//利用st对象执行SQL语句,返回结果集对象ResultSet rs=st.executeQuery("select * from View1 where 姓名='"+xingming+"'");//处理结果集:逐条显示结果集中的记录while(rs.next()){jTextArea1.append(rs.getString("学号")+" "+rs.getString("姓名")+" "+rs.getString("性别")+" "+rs.getDate("出生日期")+" "+rs.getString("籍贯")+"\n");jTextArea1.append("系名:"+rs.getString("系名")+" 班主任:"+rs.getString("班主任")+"\n");//清空文本行的内容jTextField1.setText("");}}catch(Exception ex){//利用消息对话框提示查询失败JOptionPane.showMessageDialog(this,"查询失败!");}}}3.6按学号查询学生面板类的代码(文件名:InquireOnXHPanel.java)catch(Exception exception){exception.printStackTrace();}}//面板初始化方法private void jbInit() throws Exception{//连接数据库con=DBConnect.getConn();st=con.createStatement();//框架的布局this.setLayout(null);//设置各组件的大小jLabel1.setBounds(new Rectangle(46,4,222,32));jTextField1.setBounds(new Rectangle(47,37,247,31));jButton1.setBounds(new Rectangle(47,86,247,30));jTextArea1.setBounds(new Rectangle(24,130,305,109));//添加按钮动作事件jButton1.addActionListener(this);//添加组件到面板this.add(jLabel1);在班//清空文本行的内容jTextField1.setText("");}else{JOptionPane.showMessageDialog(this,"没有这个学号!");}}catch(Exception ex){//利用消息对话框提示查询失败JOptionPane.showMessageDialog(this,"查询失败!");}}}3.7系统主界面类的代码(文件名:MainFrame.java)//导入系统的包import java.awt.*;import javax.swing.*;//创建主界面类public class MainFrame extends JFrame implements ActionListener {//调用初始化方法jbInit();}catch(Exception exception){exception.printStackTrace();}}//界面初始化方法private void jbInit() throws Exception{//创建内容面板和其布局contentPane =(JPanel) getContentPane();contentPane.setLayout(null);//框架的大小和其标题setSize(new Dimension(400,320));setTitle("学生信息管理系统");//添加事件监听器jMenuFileExit.addActionListener(this);jMenuHelpAbout.addActionListener(this);jMenuItem1.addActionListener(this);jMenuItem2.addActionListener(this);}//菜单事件的处理方法public void actionPerformed(ActionEvent actionEvent) {//点击“文件”菜单下的“退出”菜单项if(actionEvent.getSource()==jMenuFileExit){System.exit(0);}//点击“学生管理”菜单下的“添加学生”菜单项if(actionEvent.getSource()==jMenuItem1){//创建添加学生面板对象AddStudentPanel add=new AddStudentPanel();//移除主界面上原有的内容this.remove(this.getContentPane());this.setContentPane(add);//令界面可见this.setVisible(true);}//点击“学生管理”菜单下的“删除学生”菜单项{//创建“按学号查询”面板对象InquireOnXHPanel onXH=new InquireOnXHPanel();//移除主界面上原有的内容this.remove(this.getContentPane());this.setContentPane(onXH);//令界面可见this.setVisible(true);}//点击“帮助”菜单下的“关于”菜单项if(actionEvent.getSource()==jMenuHelpAbout){//创建“关于”对话框的对象MainFrame_AboutBox dlg=new MainFrame_AboutBox(this,"关于学生信息管理系统",true);//设置dlg对话框的尺寸dlg.setSize(260,220);Dimension dlgSize=dlg.getPreferredSize();//获得窗口的尺寸Dimension frmSize=getSize();//获得窗口的位置Dimension screenSize=Toolkit.getDefaultToolkit().getScreenSize();//获取主界面的窗体尺寸Dimension frameSize =frame.getSize();//令主界面窗体居中if(frameSize.height>screenSize.height)frameSize.height=screenSize.height;if(frameSize.width>screenSize.width)frameSize.width=screenSize.width;frame.setLocation((screenSize.width-frameSize.width)/2,(screenSize.height-frameSize.height)/2);//令主界面显示frame.setVisible(true);}}四以下是JDK的运行结果,主要以图解。

学生信息管理系统设计报告sql+java

学生信息管理系统设计报告sql+java

目录1学生信息管理系统概述 (5)1.1系统的任务 (5)1.2系统的目标 (5)2系统具体需求分析 (6)2.1系统需求 (6)2.2数据字典 (6)2.3数据流图 (10)3概念结构设计 (11)4.逻辑结构设计 (14)5.物理结构设计 (15)表汇总 (15)表A—F (16)6.数据保护设计 (18)6.1防止用户直接操作数据库的方法 (18)6.2用户帐号密码的加密方法 (18)6.3角色与权限 (18)7.运行管理与维护说明 (19)8. SQL语句及部分关键JAVA语句 (20)9. 心得与体会 (29)10.参考资料 (29)计算机与信息工程学院《数据库应用》课程设计任务书需求分析:1、学生信息管理系统概述学生信息管理系统主要用来管理学生基本信息。

本系统是一个简单的学生信息管理系统,系统管理的信息主要是学生基本信息、课程信息和学生选课信息。

系统的目的是有效地处理这些信息,同时为用户提供信息检索、信息修改和保护功能。

1.1系统的任务学生信息管理系统是学校有效管理学生的重要工具,它的任务主要有以下几项:◆学生基本信息管理,主要负责管理学生基本信息。

◆学生选课信息管理,主要负责管理课程信息和学生选课信息。

◆信息检索管理,主要负责对学生各类信息进行查询和统计。

◆信息修改管理,主要负责学生信息的增加,删除,更改。

◆系统管理,主要负责管理用户信息和用户登陆,以及配置系统参数。

1.2系统的目标学生信息管理系统是学校管理学生的有效方法,也是学生学生查询信息的有效途径。

一个好的学生信息管理系统应具有以下这些目标:◆能够管理所有学生的信息。

◆能够快速地进行学生的各类信息查询,包括基本信息和选课信息的查询。

◆减少学校管理学生的工作任务,降低管理成本。

2 系统具体需求2.1系统需求根据以上对学生信息管理系统的任务和目标的分析,蓝天大学学生信息管理系统的具体需求如下:(1)学生信息:学号、姓名、性别、出生日期、电话、部门、民族、政治面貌、来源地、入学成绩、备注。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

学生学籍管理系统1课程设计目的、设计内容与需求分析1.1 课程设计目的通过本次课程设计的实践操作,能够让学生懂得Java、SQL的各种相关知识的使用,真正的提高学生独立开发设计Java程序,把课堂上的知识运用在实践上,一门编程语言只有在不断实践操作和练习上才会有进步。

1.2软件设计内容学生学籍管理系统,可用于学校等机构的学生信息管理,查询,更新与维护,使用方便,易用性强,图形界面清晰明了。

该软件用java语言编写,用SQLServer2005数据库作为后台的数据库进行信息的存储,用SQL语句完成添加,查询,修改,删除的操作。

用ODBC驱动实现前台Java与后台SQL数据库的连接。

Java语言跨平台性强,可以在windows,linux,ubuntu等系统下使用,方便简单,安全性好。

SQLServer2005数据库高效安全,两者结合可相互利用各自的优势。

系统可供输入的属性有“学号”,“姓名”,“性别”,“班级”,“学院”,“籍贯”。

该系统实现的大致功能:1.管理员登陆界面。

该界面可以输入管理员号,登陆密码。

用户通过验证通过后方可进入管理系统。

一定程度上保证了信息安全性,防止他人未经允许篡改学生信息。

2.查询学生信息。

可以选择由用户选择“显示系统中当前的所有学生信息”。

也可以选择按照“某一个学号查询该学号的学生信息”。

查询到的信息会在窗口中依次显示出来。

3.添加学生信息。

可以按照图形的界面的显示依次输入新学生的“学号”,“姓名”,“性别”,“班级”,“学院”,“籍贯”。

完成新纪录的添加。

4.修改学生信息。

可以选择按照“学号”或者“姓名”找到该学生的学生信息并输入要修改的属性,并输入新的数据。

完成对学生记录的修改。

5.删除学生记录。

可以根据输入的“学号”或者”姓名”进行删除的操作。

1.3需求分析在一些学校等机构,随着学生数量的不断增加,学生的信息不断增多,人工管理信息的难度也越来越大。

而且效率也是很低的。

所以如何自动高效地管理信息是这些年来许多人所研究的。

随着这些年电脑计算机的速度质的提高,成本的下降,IT互联网大众趋势的发展。

我们使用电脑的高效率才处理数据信息成为可能。

学生学籍管理系统的出现,正是管理人员与信息数据,计算机的进入互动时代的体现。

友好的人机交互模式,清晰简明的图形界面,高效安全的操作使得我们对成千上万的信息的管理得心应手。

学生学籍管理系统,以SQL数据库作为后台信息存储,Java作为前台系统的语言。

提供了对学生信息添加,查询,修改,删除的功能。

实现了最基本的信息管理。

2 设计思路与主功能设计2.1 设计思路2.1.1 开发环境和软件(1)操作系统:Windows 7(2)数据库软件:SQL Server 2005(3)Java开发工具:Eclipse2.1.2 SQL 数据库表结构2.1.3 程序系统设计图2.1.4功能模块说明:1).管理员登陆界面。

该界面可以输入管理员号,登陆密码。

用户通过验证通过后方可进入管理系统。

一定程度上保证了信息安全性,防止他人未经允许篡改学生信息。

2).查询学生信息。

可以选择由用户选择“显示系统中当前的所有学生信息”。

也可学生学籍管理系统 登录登录验证失败 成功退出查询添加修改删除 显示以选择按照“某一个学号查询该学号的学生信息”。

查询到的信息会在窗口中依次显示出来。

3).添加学生信息。

可以按照图形的界面的显示依次输入新学生的“学号”,“姓名”,“性别”,“班级”,“学院”,“籍贯”。

完成新纪录的添加。

4).修改学生信息。

可以选择按照“学号”或者“姓名”找到该学生的学生信息并输入要修改的属性,并输入新的数据。

完成对学生记录的修改。

5).删除学生记录。

可以根据输入的“学号”或者”姓名”进行删除的操作。

6).显示学生信息。

可以显示所有学生的信息、以供查看。

2.2 功能设计与介绍1)、添加学生信息2)、修改学生信息3)、查询学生信息4)、删除学生信息5)、显示学生信息6)、退出管理系统3具体功能的介绍和数据测试流程图:函数之间相互调用的图示:失败3.1 登录界面学生学籍管理系统 登录登录验证失败 成功退出查询添加修改删除 显示Login登录验证成功Add()Modify()Delete()Display() Search()登录界面输入“姓名”和“密码”,点击“确定”,通过验证则进入主功能菜单。

如果输入错误则会有相应的警告!1. 当输入了一个错误时,会出现下图!2.登陆成功后提示3.2主功能界面3.2.1 显示点击,则弹出下面的选择菜单。

3.2.2 添加点击,则弹出下面的选择菜单。

添加学生信息1、设置的学号为主键、所以若添加的学号已存在的、会弹出如下图的提示:2.成功添加学生信息3.2.3 修改学生信息点击,则弹出下面的选择菜单。

1.若输入的学号不存在的时候会有如下提示框:2.如果输入的学号在数据库中可以查询的到、则会有弹出下面的菜单:然后修改学生对应框的学生信息、修改完成后、点击、弹出下面的提示3.2.4 查询学生信息点击,则弹出下面的选择菜单。

1.若输入的学号不存在、会弹出如下提示:2、输入的学号存在的时候、会显示学生的所有信息:3.2.5删除学生信息点击,则弹出下面的选择菜单。

1.输入的学号不存在时、会弹出提示2.输入学号存在时、完成删除后弹出提示3.2.6 退出点击,退出本学籍管理系统。

4 课程设计总结课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程. 本次课程设计虽然很辛苦,实在是受益匪浅。

本来这门课的知识学的就不够扎实,本次课程设计,在设计过程中碰到了很多问题,刚开始要设计的时候,还真不知道从哪里下手但最终在图书、同学和老师的帮助下都得到了解决,让我学会了好多书本上没有的东西,通过本次课程设计我也能将课本上的知识融会贯通,起到了很好的辅助学习的效果,但是我发现我学到的知识比整整一个学期学到的都多。

理论和实践的相结合是学习最有效的方法。

在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,通过这次课程设计之后,一定把以前所学过的知识重新温故。

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

5、参考文献:1.《数据库系统原理与应用》孟彩霞主编人民教育出版社2.《JA V A程序设计》James Cohoon /Jack Davidson 著清华大学出版社3.《JA V A项目开发案例整合》白伟明李伟等著电子工业出版社6、代码:(一)登陆:Loginimport java.awt.Dimension;import java.awt.Toolkit;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JOptionPane;import javax.swing.JPasswordField;import javax.swing.JTextField;public class Login {public static void main(String[] args) {final String userName = "1";final String passwrod = "1";final JFrame jFrame = new JFrame("登陆界面");Dimension dimension = Toolkit.getDefaultToolkit().getScreenSize();jFrame.setBounds(((int)dimension.getWidth() - 200) / 2, ((int)dimension.getHeight() - 300) / 2, 200, 150);jFrame.setResizable(false);jFrame.setLayout(null);jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);JLabel label1 = new JLabel("姓名");label1.setBounds(10, 10, 100, 30);jFrame.add(label1);JLabel label2 = new JLabel("密码");label2.setBounds(10, 40, 100, 30);jFrame.add(label2);final JTextField text1 = new JTextField();text1.setBounds(50, 15, 130, 20);jFrame.add(text1);final JPasswordField text2 = new JPasswordField();text2.setBounds(50, 45, 130, 20);jFrame.add(text2);JButton button = new JButton("Login");button.setBounds(10, 75, 170, 40);button.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {if(userName.equals(text1.getText()) && passwrod.equals(text2.getText())) {jFrame.dispose(); //使远窗口消失JOptionPane.showMessageDialog(null, "登陆成功", "提示", RMATION_MESSAGE);jFrame.dispose();(new Menu()).go();} else {JOptionPane.showMessageDialog(null, "错误", "提示", JOptionPane.ERROR_MESSAGE);text1.setText("");text2.setText("");}}});jFrame.add(button);jFrame.setVisible(true);jFrame.setLocationRelativeTo(null);}}(二):主界面:Menuimport java.awt.Container;import youtManager;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.*;import javax.swing.JButton;import javax.swing.JFrame;import java.awt.event.WindowAdapter;import java.awt.event.WindowEvent;public class Menu {JFrame jf;JButton j1,j2, j3, j4, j5,j6;public static void main(String args[]){ Menu m =new Menu();m.go();}public void go(){jf=new JFrame("学生学籍管理系统");jf.setBounds(200, 200, 300, 200);Container cp=jf.getContentPane();cp.setLayout(new FlowLayout(FlowLayout.LEADING,20,20));j1=new JButton("添加学生信息");j2=new JButton("修改学生信息");j3=new JButton("查询学生信息");j4=new JButton("删除学生信息");j5=new JButton("显示学生信息");j6=new JButton("退出管理系统");cp.add(j1);cp.add(j2);cp.add(j3);cp.add(j4);cp.add(j5);cp.add(j6);j1.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){// jf.dispose();new Add();}});j2.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){ // jf.dispose();Modify modify=new Modify();}});j3.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){ // jf.dispose();Search search=new Search();}});j4.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){ // jf.dispose();Delete delete=new Delete();});j5.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){// jf.dispose();Display display=new Display();}});j6.addActionListener(new ActionListener(){// ActionListener接收动作事件的监听器接口。

相关文档
最新文档