JAVA+SQL学生学籍管理系统代码及实验报告
学生管理系统JAVA实验报告
实验报告学生信息管理系统学号:XXXXXXXX姓名:XXXXXX班级:XXXXXXXXXXXXXXX摘要本文着重阐述了“学生信息管理系统”的开发过程。
对于设计思想和设计流程也做出了全面的叙述,在数据库创建思想以及各个数据表之间的具体关联等方面也做出了详细说明,并且具体剖析了系统各个功能的实现过程以及详细设计过程,在绘制简单系统功能模块图的同时,力求更加清晰地表明设计思想以及对整个学生模块程序设计的规划及具体实现过程。
本系统具有多方面特点:系统功能完备,用户使用方便简捷,人性化的用户界面,安全保密设置齐全,大大减少了操作人员和用户的工作负担,提高了学生管理的工作效率和学校的信息化的水平。
AbstractThis article focuses on the student information management system---student module for the development process. Introduced a system for environment and development tools, the design concept and design process has also made a comprehensive narrative, in the database to create ideological and various data tables specific links between the areas has also made detailed and specific analysis of the The various functions of the system to achieve process and detailed design process, drawing a simple system function modules map at thesame time, to more clearly show that design thinking and the whole process of planning and design of concrete realization.This system has many features: system fully functional, easy to use simple user-friendly user interface, complete security settings, greatly reducing the operators and users of the burden and improve the efficiency of the management of students and school information Level. 1.实验目的:编写学生信息管理系统程序:(1)基本要求:学生信息(包括学号、姓名、性别、年龄、家庭住址、电话等)的添加,删除,修改,查询(包括按学号,按姓名等查询)。
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学生信息管理系统实验报告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课内实验报告学生成绩管理系统一. 实验目的及实验环境实验目的:在如今的高校日常管理当中,学生成绩管理系统就是其中非常重要的一环,特别是当前学生规模大,课程门类多,校区分散等实际情况,学生成绩管理系统更具有非常大的实际应用意义。
基于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学生信息管理系统实验报告一、实验目的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的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
目录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)学生信息:学号、姓名、性别、出生日期、电话、部门、民族、政治面貌、来源地、入学成绩、备注。
学生管理系统JAVA实验报告
实验报告学生信息管理系统学号:XXXXXXXX:XXXXXX班级:XXXXXXXXXXXXXXX摘要本文着重阐述了“学生信息管理系统”的开发过程。
对于设计思想和设计流程也做出了全面的叙述,在数据库创建思想以及各个数据表之间的具体关联等方面也做出了详细说明,并且具体剖析了系统各个功能的实现过程以及详细设计过程,在绘制简单系统功能模块图的同时,力求更加清晰地表明设计思想以及对整个学生模块程序设计的规划及具体实现过程。
本系统具有多方面特点:系统功能完备,用户使用方便简捷,人性化的用户界面,安全保密设置齐全,大大减少了操作人员和用户的工作负担,提高了学生管理的工作效率和学校的信息化的水平。
AbstractThis article focuses on the student information management system---student module for the development process. Introduced a system for environment and development tools, the design concept and design process has also made a comprehensive narrative, in the database to create ideological and various data tables specific links between the areas has also made detailed and specific analysis of the The various functions of the system to achieve process and detailed design process, drawing a simple system function modules map at the same time, to more clearly show that design thinking and the whole process of planning and design of concrete realization.This system has many features: system fully functional, easy to use simple user-friendly user interface, complete security settings, greatly reducing the operators and users of the burden and improve the efficiency of the management of students and school information Level.1.实验目的:编写学生信息管理系统程序:(1)基本要求:学生信息(包括学号、、性别、年龄、家庭住址、电话等)的添加,删除,修改,查询(包括按学号,按姓名等查询)。
java+SQL教学管理系统
java+SQL教学管理系统摘要本报告主要介绍了运用JAVA基础语言、面向对象程序设计、图形用户界面编程、访问数据库等知识所设计开发出的小型学生信息管理系统。
共分为课题概述、数据库设计的过程、系统设计与实现、取得结果、总结与体会、主要参考文献、附录(原程序代码、注释)六大部分。
每一部分都对本次课程设计过程及成果进行了详细的介绍。
例如:在课题概述中,读者可了解到课程设计的主要任务及要求;在取得结果中,展示了所实现的界面效果;在总结与体会中,可了解到在课程设计中所需注意的事项等内容。
关键字:JAVA 数据库课程设计目录一、课题概述................................................... - 4 -1.1任务..................................................... - 4 -1.2目的..................................................... - 4 -1.3要求..................................................... - 4 -二、数据库设计的过程................................... - 4 -2.1 需求分析............................................ - 4 -2.2 概念结构设计.................................... - 5 -2.3 逻辑结构设计.................................... - 5 -2.4 物理结构设计.................................... - 7 -2.5 数据库实施和运行维护.................... - 7 -三、系统设计与实现....................................... - 9 -3.1 系统设计............................................ - 9 -3.1.1该系统实现的大致功能.......... - 9 -3.1.2 开发环境和软件..................... - 9 -3.2设计思路............................................. - 9 -3.2.1 系统模块图........................... - 9 -3.3 采取方案.......................................... - 10 -3.3.1登录界面................................ - 10 -3.3.2注册界面................................ - 10 -3.3.3管理员界面............................ - 10 -3.4 学生主页.......................................... - 11 -3.5 教师主页.......................................... - 11 -四、取得结果................................................. - 11 -4.1 登录界面.......................................... - 11 -3.2 管理员界面...................................... - 12 -3.3 学生主页.......................................... - 13 -3.4 教师主页.......................................... - 14 -3.3 录入界面.......................................... - 14 -3.4 查询界面.......................................... - 15 -3.5 修改/删除界面................................. - 15 -五、总结与体会............................................. - 16 -六、主要参考文献......................................... - 17 -七、附录(部分原程序代码、注释等)..... - 18 -6.1 登录.................................................. - 18 -6.2 课程信息维护界面......................... - 28 -一、课题概述1.1任务根据所学JAVA及SQL Server数据库知识,设计出符合要求的学生信息管理系统。
学籍管理系统(简易)(java代码实现)实验报告
学籍管理系统(简易)(j a v a代码实现)实验报告------------------------------------------作者------------------------------------------日期江西师范大学计算机信息工程学院学生实验报告专业: 计算机科学与技术 姓名:♉ ♉ 学号:♉ 日期:♉♉实验目的、熟悉和掌握字符串、数组等两种高级数据类型;、进一步应用 ♍♋⏹⏹♏❒类的对象,读取不同类型的数据;、进一步训练自顶向下逐步求精策略,并应用于实际问题;、在函数的参数传递中,传递 ♦❒♓⏹♑对象和数组对象。
实验内容设计的程序有如下功能:、能输入 个学生信息,学生信息中包含学号,姓名,年龄,语文,数学,英语等内容;、有统计功能,如统计个人的总分、平均分,以及整体的单科平均分、总分平均;、按语文、数学、英语、年龄、学号等中的任一种对学生进行排序;、能输出所有人的具体信息;、输入指定姓名或学号,输出符合条件的学生信息;、以循环菜单的方式列出上述功能供用户选择;输入 则退出系统。
注意:排序、统计、检索、打印等,必须用子程序单独实现,并以学生信息数组为参数。
、数学、语文、英语均为成绩,考虑重用同一程序实施排序;、考虑系统的可交互性,即对要求用户输入信息格式必须给出友好的提示;、在完成相关功能后给出结果信息。
设计思路、用以下数组存储 位学生的信息:☐◆♌●♓♍ ♦♦♋♦♓♍ ♓⏹♦☯ ⏹◆❍♌♏❒⏹♏♦ ♓⏹♦☯学号 ☐◆♌●♓♍ ♦♦♋♦♓♍ ♦❒♓⏹♑☯ ⏹♋❍♏⏹♏♦ ♦❒♓⏹♑☯ 名字☐◆♌●♓♍ ♦♦♋♦♓♍ ♓⏹♦☯ ♋♑♏⏹♏♦ ♓⏹♦☯年龄☐◆♌●♓♍ ♦♦♋♦♓♍ ♎☐◆♌●♏☯ ♍♒♓⏹♏♦♏⏹♏♦ ♎☐◆♌●♏☯ 语文☐◆♌●♓♍ ♦♦♋♦♓♍ ♎☐◆♌●♏☯ ❍♋♦♒⏹♏♦ ♎☐◆♌●♏☯ 数学英语☐◆♌●♓♍ ♦♦♋♦♓♍ ♎☐◆♌●♏☯ ☐♉♋❖♏⏹♏♦ ♎☐◆♌●♏☯ 平均分☐◆♌●♓♍ ♦♦♋♦♓♍ ♎☐◆♌●♏☯ ♦♉♦♍☐❒♏⏹♏♦ ♎☐◆♌●♏☯ 总分、对于功能( 排序 :统计 :检索 :打印) 分别用四个函数实现,具体算法见相应的代码;各函数对相应的数组进行操作。
学生管理系统实验报告
学生管理系统实验报告一、实验目的: 学习学生管理系统java程序编程、编写学生管理系统程序。
二、实验环境: 在软件Eclipse运行环境下运行1.实验步骤:2.在Eclipse环境中创建一个java工程, 然后创建学生管理系统类, 并在这类中编写代码。
3.调试代码, 并进行纠正。
4.检验试验结果, 查看是否符合要求。
5.得到结果。
实验内容代码:import java.awt.*;import java.awt.event.*;import java.sql.*;import java.util.*;import javax.swing.*;import javax.swing.border.*;import javax.swing.JDialog;import javax.swing.JFrame;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.util.Vector;import javax.swing.table.*;public class Xsglxt extends JFrame implements ActionListener { JPanel mb1,mb2;JLabel bq1;JTextField wbk1;JButton an1,an2,an3,an4;JTable bg1;JScrollPane gd1;Xsxx xsxx2;public static void main(String[] args){Xsglxt xs=new Xsglxt();}public Xsglxt(){mb1=new JPanel();bq1=new JLabel("请输入姓名");wbk1=new JTextField(10);an1=new JButton("查询");an1.addActionListener(this);an1.setActionCommand("chaxun");mb1.add(bq1);mb1.add(wbk1);mb1.add(an1); mb2=new JPanel();an2=new JButton("添加");an2.addActionListener(this);an2.setActionCommand("tianjia");an3=new JButton("修改");an3.addActionListener(this);an3.setActionCommand("xiugai");an4=new JButton("删除");an4.addActionListener(this);an4.setActionCommand("shanchu");mb2.add(an2);mb2.add(an3);mb2.add(an4);xsxx2=new Xsxx();bg1=new JTable(xsxx2);gd1=new JScrollPane(bg1);this.add(gd1);this.add(mb1,"North");this.add(mb2,"South");this.setTitle("学生管理系统");this.setSize(500,400);this.setLocation(201,181);this.setResizable(false);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.setVisible(true);}public void actionPerformed(ActionEvent e){if(e.getActionCommand().equals("chaxun")){String xingming=this.wbk1.getText().trim();String sql="select * from xuesheng where xingming='"+xingming+"'";xsxx2=new Xsxx(sql);bg1.setModel(xsxx2);else if(e.getActionCommand().equals("tianjia")){Tianjia tj=new Tianjia(this,"添加学生信息",true);System.out.println("123456");xsxx2=new Xsxx();bg1.setModel(xsxx2);}else if(e.getActionCommand().equals("xiugai")){int ii=this.bg1.getSelectedRow();if(ii==-1){JOptionPane.showMessageDialog(this,"请选中要删除的行");return;}new Xiugai(this,"修改学生信息",true,xsxx2,ii);System.out.println("123456");xsxx2=new Xsxx();bg1.setModel(xsxx2);else if(e.getActionCommand().equals("shanchu")){int ii=this.bg1.getSelectedRow();if(ii==-1){JOptionPane.showMessageDialog(this, "请选中要删除的行");return;}String st=(String)xsxx2.getValueAt(ii,0);PreparedStatement ps=null;Connection ct=null;ResultSet rs=null;Statement sn=null;try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");ct=DriverManager.getConnection("jdbc:odbc:sqlserver","sa","12 3456");//String xuehao=this.wbk1.getText().trim();ps=ct.prepareStatement("delete from xuesheng where xuehao=?");ps.setString(1, st);ps.executeUpdate();}catch(Exception c2){e.paramString();}finally{try{if(rs!=null){rs.close();}if(ps!=null){ps.close();}if(ct!=null){ct.close();}}catch(Exception e3){}}xsxx2=new Xsxx();bg1.setModel(xsxx2);}}}import java.awt.*;import java.awt.event.*;import java.sql.*;import java.util.*;import javax.swing.*;import javax.swing.border.*; import javax.swing.JDialog; import javax.swing.JFrame; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet;import java.util.Vector;import javax.swing.table.*;public class Xiugai extends JDialog implements ActionListener { JLabel bq1, bq2, bq3, bq4, bq5, bq6;JTextField wbk1, wbk2, wbk3, wbk4, wbk5, wbk6;JButton an1, an2;JPanel mb1, mb2, mb3, mb4;public Xiugai(Frame fck, String ckm, Boolean msck, Xsxx xsxx2, int hang) {super(fck, ckm, msck);bq1 = new JLabel(" 学号");bq2 = new JLabel(" 姓名");bq3 = new JLabel(" 性别");bq4 = new JLabel(" 年龄");bq5 = new JLabel(" 籍贯");bq6 = new JLabel(" 院系");wbk1 = new JTextField(5);wbk1.setText((String) xsxx2.getValueAt(hang, 0));wbk1.setEditable(false);wbk2 = new JTextField(5);wbk2.setText((String) xsxx2.getValueAt(hang, 1));wbk3 = new JTextField(5);wbk3.setText((String) xsxx2.getValueAt(hang, 2)); wbk4 = new JTextField(5);wbk4.setText((String) xsxx2.getValueAt(hang, 3)); wbk5 = new JTextField(5);wbk5.setText((String) xsxx2.getValueAt(hang, 4)); wbk6 = new JTextField(5);wbk6.setText((String) xsxx2.getValueAt(hang, 5));an1 = new JButton("修改");an1.addActionListener(this);an1.setActionCommand("tiangjia2");an2 = new JButton("取消");an2.addActionListener(this);an2.setActionCommand("quxiao");mb1 = new JPanel();mb2 = new JPanel();mb3 = new JPanel();mb4 = new JPanel();mb1.setLayout(new GridLayout(6, 1));mb2.setLayout(new GridLayout(6, 1));mb1.add(bq1);mb1.add(bq2);mb1.add(bq3);mb1.add(bq4);mb1.add(bq5);mb1.add(bq6);mb2.add(wbk1);mb2.add(wbk2);mb2.add(wbk3);mb2.add(wbk4);mb2.add(wbk5);mb2.add(wbk6);mb3.add(an1);mb3.add(an2);this.add(mb1, BorderLayout.WEST); this.add(mb2);this.add(mb3, BorderLayout.SOUTH); this.add(mb4, BorderLayout.EAST);this.setSize(370, 270);this.setLocation(401, 261);this.setResizable(false);//this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.setVisible(true);}public void actionPerformed(ActionEvent e){if(e.getActionCommand().equals("tiangjia2")){PreparedStatement ps=null;Connection ct=null;ResultSet rs=null;Statement sm=null;System.out.println("00000000000");try {Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");System.out.println("1111111111");ct=DriverManager.getConnection("jdbc:odbc:sqlserver","sa","12 3456");System.out.println("222222222222");String ss=("update xuesheng set xingming=?,xingbie=?,nianling=?,jiguan=?,yuanxi=? where xuehao='"+wbk1.getText().trim()+"'");ps=ct.prepareStatement(ss);ps.setString(1, wbk2.getText());ps.setString(2, wbk3.getText());ps.setString(3, wbk4.getText());ps.setString(4, wbk5.getText());ps.setString(5, wbk6.getText());ps.executeUpdate();this.dispose();} catch (Exception e1) {e1.printStackTrace();}finally{try{if(rs!=null){rs.close();}if(ps!=null){ps.close();}if(ct!=null){ct.close();}} catch (Exception e3){}}}else if(e.getActionCommand().equals("quxiao")) {this.dispose();}}}import java.awt.*;import java.awt.event.*;import java.sql.*;import java.util.*;import javax.swing.*;import javax.swing.border.*;import javax.swing.JDialog;import javax.swing.JFrame;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.util.Vector;import javax.swing.table.*;public class Xsxx extends AbstractTableModel {Vector ziduan,jilu;PreparedStatement ps=null;Connection ct=null;ResultSet rs=null;public int getRowCount(){return this.jilu.size();}public int getColumnCount(){return this.ziduan.size();}public Object getValueAt(int hang,int lie){return (((Vector) this.jilu.get(hang)).get(lie)); }public Xsxx(){this.sqlyj("select * from xuesheng");}public Xsxx(String ss){this.sqlyj(ss);}public String getColumnName(int e)return (String)this.ziduan.get(e);}public void sqlyj(String sql){ziduan=new Vector();ziduan.add("学号");ziduan.add("姓名");ziduan.add("性别");ziduan.add("年龄");ziduan.add("籍贯");ziduan.add("所在院系");jilu=new Vector();try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");ct=DriverManager.getConnection("jdbc:odbc:sqlserver","sa","12 3456");ps=ct.prepareStatement(sql);rs=ps.executeQuery();while(rs.next()){Vector hang=new Vector();hang.add(rs.getString(1));hang.add(rs.getString(2));hang.add(rs.getString(3));hang.add(rs.getString(4));hang.add(rs.getString(5));hang.add(rs.getString(6));jilu.add(hang);}}catch (Exception e){e.printStackTrace();} finally{try{if(rs!=null){rs.close();}if(ps!=null){ps.close();}if(ct!=null){ct.close();}} catch (Exception e){} }}}import java.awt.*;import java.awt.event.*;import java.sql.*;import java.util.*;import javax.swing.*;import javax.swing.border.*; import javax.swing.JDialog; import javax.swing.JFrame; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement;import java.sql.ResultSet;import java.util.Vector;import javax.swing.table.*;public class Tianjia extends JDialog implements ActionListener{ JLabel bq1,bq2,bq3,bq4,bq5,bq6;JTextField wbk1,wbk2,wbk3,wbk4,wbk5,wbk6;JButton an1,an2;JPanel mb1,mb2,mb3,mb4;public Tianjia(Frame fck,String ckm,Boolean msck){super(fck,ckm,msck);bq1=new JLabel(" 学号");bq2=new JLabel(" 姓名");bq3=new JLabel(" 性别");bq4=new JLabel(" 年龄");bq5=new JLabel(" 籍贯");bq6=new JLabel(" 院系");wbk1=new JTextField(5);wbk2=new JTextField(5);wbk3=new JTextField(5);wbk4=new JTextField(5);wbk5=new JTextField(5);wbk6=new JTextField(5);an1=new JButton("添加");an1.addActionListener(this);an1.setActionCommand("tiangjia2");an2=new JButton("取消");an2.addActionListener(this);an2.setActionCommand("quxiao");mb1=new JPanel();mb2=new JPanel();mb3=new JPanel();mb4=new JPanel();mb1.setLayout(new GridLayout(6,1));mb2.setLayout(new GridLayout(6,1));mb1.add(bq1); mb1.add(bq2); mb1.add(bq3);mb1.add(bq4); mb1.add(bq5); mb1.add(bq6);mb2.add(wbk1); mb2.add(wbk2); mb2.add(wbk3);mb2.add(wbk4); mb2.add(wbk5); mb2.add(wbk6);mb3.add(an1); mb3.add(an2);this.add(mb1,BorderLayout.WEST);this.add(mb2);this.add(mb3,BorderLayout.SOUTH);this.add(mb4,BorderLayout.EAST);this.setSize(370, 270);this.setLocation(401, 281);this.setResizable(false);this.setVisible(true);}public void actionPerformed(ActionEvent e){if(e.getActionCommand().equals("tiangjia2")){PreparedStatement ps=null;Connection ct=null;ResultSet rs=null;Statement sm=null;try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");ct=DriverManager.getConnection("jdbc:odbc:sqlserver","sa","12 3456");String ss=("insert into xuesheng values(?,?,?,?,?,?)");ps=ct.prepareStatement(ss);ps.setString(1, wbk1.getText());ps.setString(2, wbk2.getText());ps.setString(3, wbk3.getText());ps.setString(4, wbk4.getText());ps.setString(5, wbk5.getText());ps.setString(6, wbk6.getText());ps.executeUpdate();this.dispose();} catch (Exception e2){}finally{try{if(rs!=null){rs.close();}if(ps!=null){ps.close();}if(ct!=null){ct.close();}} catch (Exception e3){}}}else if(e.getActionCommand().equals("quxiao")) {this.dispose();}}}实验小结:实验原道的问题是刚开始时程序只能查询不能添加修改删除等, 经过老师指导后修改程序后, 程序就能完成各项操作了。
学生管理系统数据库设计代码java
学生管理系统数据库设计代码java以下是一个简单的学生管理系统的数据库设计代码示例,使用Java语言实现:```javaimport java.sql.*;public class StudentManagementSystem {private Connection connection;public StudentManagementSystem() {try {// 连接数据库connection =DriverManager.getConnection('jdbc:mysql://localhost:3306/st udent_management_system?useUnicode=true&characterEncoding=u tf8','root', 'password');} catch (SQLException e) {e.printStackTrace();}}public void createTables() {try {Statement statement =connection.createStatement();// 创建学生表String createStudentTableSQL = 'CREATE TABLE students (' +'id INT PRIMARY KEY AUTO_INCREMENT,' + 'name VARCHAR(50) NOT NULL,' +'age INT NOT NULL,' +'gender VARCHAR(10) NOT NULL)';statement.executeUpdate(createStudentTableSQL);// 创建课程表String createCourseTableSQL = 'CREATE TABLE courses (' +'id INT PRIMARY KEY AUTO_INCREMENT,' + 'name VARCHAR(50) NOT NULL)';statement.executeUpdate(createCourseTableSQL);// 创建学生-课程关联表String createStudentCourseTableSQL = 'CREATE TABLE student_course (' +'student_id INT NOT NULL,' +'course_id INT NOT NULL,' +'PRIMARY KEY (student_id, course_id),' + 'FOREIGN KEY (student_id) REFERENCES students(id) ON DELETE CASCADE,' +'FOREIGN KEY (course_id) REFERENCES courses(id) ON DELETE CASCADE)';statement.executeUpdate(createStudentCourseTableSQL);statement.close();} catch (SQLException e) {e.printStackTrace();}}public void closeConnection() {try {if (connection != null) {connection.close();}} catch (SQLException e) {e.printStackTrace();}}public static void main(String[] args) {StudentManagementSystem system = new StudentManagementSystem();system.createTables();system.closeConnection();}}```这段代码创建了三个表: 'students', 'courses'和'student_course'。
基于java的学籍管理系统实训报告
基于java的学籍管理系统实训报告一、项目概述本项目是基于Java语言开发的学籍管理系统,旨在为学校提供一个高效、便捷的管理平台。
该系统可以实现学生信息的录入、查询、修改和删除等功能,同时也支持教师信息的管理和课程信息的维护。
此外,该系统还支持成绩查询和统计分析功能,方便教师和学生查看自己的成绩情况。
二、需求分析1. 用户需求该系统主要面向学校管理员、教师和学生三类用户。
管理员需要能够对整个系统进行配置和管理,包括用户权限设置、数据备份等操作;教师需要能够录入、修改和查询学生成绩,并能够进行统计分析;学生需要能够查询自己的个人信息和成绩情况。
2. 功能需求(1)用户登录:用户输入用户名和密码进行登录,并根据不同角色进入不同页面。
(2)学生信息管理:管理员可以添加、删除或修改学生信息,教师可以查询并修改自己所授课程下的学生信息。
(3)课程信息管理:管理员可以添加、删除或修改课程信息,教师可以查询并修改自己所授课程的相关信息。
(4)成绩录入与查询:教师可以录入每个学生在每个课程中的成绩,并能够查询和修改成绩信息。
(5)成绩统计分析:教师可以对学生的成绩进行统计分析,例如计算平均分、最高分、最低分等。
三、系统设计1. 技术选型本系统采用Java语言作为开发语言,使用Spring框架进行开发,数据库采用MySQL。
2. 数据库设计(1)学生表:包含学生的基本信息,如学号、姓名、性别、出生日期等。
(2)教师表:包含教师的基本信息,如工号、姓名、性别等。
(3)课程表:包含课程的基本信息,如课程编号、名称等。
(4)成绩表:包含每个学生在每个课程中的成绩信息。
3. 功能实现(1)用户登录功能:使用Spring Security框架进行权限控制,根据用户角色跳转到不同页面。
(2)学生信息管理功能:使用Spring MVC框架实现增删改查操作。
(3)课程信息管理功能:使用Spring MVC框架实现增删改查操作。
(4)成绩录入与查询功能:使用Spring MVC框架实现成绩录入和查询操作,并将数据存储到数据库中。
学生学籍管理系统--Java课程设计报告
《面向对象程序设计》课程设计报告题目:学牛学籍管理系统软件设计与实现院(系): 信息科学与工程学院__________ 专业班级:计算机科学与技术1201班学生姓名:_____________ 程伟________________ 学号:_________________________指导教师:_____________ 奕________________20 14年12 月29 日至20 年1 月9 日华中科技大学武昌分校制面向对象程序设计课程设计任务书三、原始资料1. 《面向对象程序设计课程设计》指导书2. 耿祥义.JAVA大学实用教程•北京:清华大学出版社,2009 .四、要求的设计(调查/论文)成果1. 课程设计报告2. 课程设计软件五、进程安排布置任务,查找资料、需求分析1天总体设计1天详细设计1.5天编制源程序实现3.5天测试与修改1天撰写课设报告2天六、主要参考资料[1] 广彬.Java课程设计案例精编(第二版)•北京:清华大学出版社,2011.[2] 耿祥义.Java课程设计(第二版)•北京:清华大学出版社,2008.[3] 耿祥义.JAVA大学实用教程•北京:清华大学出版社,2009 .[4] 邹林达•国君Java2程序设计基础•北京:清华大学出版社,2010 .⑸邹林达.Java2程序设计基础实验指导•北京:清华大学,2010 .指导教师(签名):20 年月日1需求与总体设计1.1需求分析1.2总体设计1.3设计要求...................................................................2.…1.4系统主要功能图............................................................ 2•…1.5系统主要类图............................................................... 3•…2详细设计..................................................................... 5.…2.1 Man agerWi ndow 类....................................................... 5.•…2.1.1成员变量和法 ............................................................. 5•…2.1.2详细类图 ................................................................. 5..…2.2 Student 类................................................................. 6.…2.2.1成员变量和法 ............................................................. 6.…2.2.2详细类图 ................................................................. 6.....2.3 Stude ntPicture 类 .......................................................... 7....2.3.1成员变量和法 ............................................................. 7....2.3.2详细类图 ................................................................. 7.....2.4 In putStude nt 类............................................................ 1.....2.4.1成员变量和法 ............................................................. 8....2.4.2详细类图 ................................................................. 8.....2.5 Inquest 类 ................................................................. 9....2.5.1成员变量和法 ............................................................. 9....2.5.2详细类图 ................................................................. 9.....2.6 ModifySituati on 类......................................................... 1.0....2.6.1成员变量和法 ........................................................... .1.0....2.6.2 详细类图 ............................................................... 1..1.....2.7 Delete 类................................................................. 1.1....2.7.1成员变量和法 ............................................................ .1.1....2.7.2 详细类图 ................................................................ 1.2.... 3编码实现.................................................................... .1.3... 4系统测试....................................................................4.9...4.1ManagerWindow 创建窗口.................................................. 4.9...4.2InputStudent 学生信息录入窗口.............................................. .49..4.3Inquest 查询,打印窗口 ....................................................5.0...4.4 ModifySituation 信息修改窗口............................................5.1...4.5Delete 删除信息窗口.......................................................5.1.... 总结 ......................................................................... 52....1需求与总体设计1.1需求分析学生信息管理系统是一个教育单位不可缺少的部分。
学生信息管理系统java课程设计代码
学生信息管理系统java课程设计代码学生信息管理系统Java课程设计代码一、引言学生信息管理系统是一种方便、高效的信息管理工具,可以帮助学校或教育机构管理学生的个人信息、学籍信息等。
本文将介绍一个基于Java语言的学生信息管理系统的设计代码。
二、系统设计1. 需求分析学生信息管理系统需要满足以下需求:- 学生信息的录入、修改和删除- 学生信息的查询和显示- 学生成绩的录入、修改和查询- 学生课表的查询和显示- 学生考勤情况的记录和查询2. 数据库设计系统需要设计学生信息、学生成绩、课程表和考勤情况等相关数据库表。
每个表需要定义相应的字段,如学生姓名、学号、性别、年龄等。
3. 界面设计系统需要设计用户友好的界面,方便用户进行操作。
可以使用JavaSwing等图形界面库进行开发,界面要清晰、美观,并提供相应的按钮和输入框供用户使用。
4. 功能实现系统的功能实现需要编写相应的Java代码。
可以使用面向对象的编程思想,将学生、成绩、课程表和考勤等信息封装成对象,通过调用对象的方法来完成相应的操作。
5. 数据库连接系统需要与数据库进行连接,使用Java JDBC等技术来实现数据库的增删改查操作。
可以使用MySQL等关系型数据库管理系统。
6. 用户权限管理系统可以设计管理员和普通用户两种角色,管理员具有录入、修改和删除学生信息的权限,普通用户只能查询和显示学生信息。
三、代码实现以下是一个简单的学生信息管理系统的Java代码示例:```javaimport java.sql.*;import javax.swing.*;public class StudentManagementSystem {// 数据库连接信息private static final String URL = "jdbc:mysql://localhost:3306/student_db";private static final String USERNAME = "root";private static final String PASSWORD = "123456";public static void main(String[] args) {// 连接数据库Connection conn = null;try {conn = DriverManager.getConnection(URL, USERNAME, PASSWORD);} catch (SQLException e) {e.printStackTrace();JOptionPane.showMessageDialog(null, "数据库连接失败!");System.exit(0);}// 界面初始化JFrame frame = new JFrame("学生信息管理系统");frame.setSize(800, 600);frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);// 添加组件JPanel panel = new JPanel();JLabel label = new JLabel("学生信息管理系统");panel.add(label);frame.add(panel);// 显示界面frame.setVisible(true);}}```四、总结通过以上的代码示例,我们可以看到一个简单的学生信息管理系统的实现框架。
学生学籍管理系统源代码
学生学籍管理系统源代码源代码:连接数据库的代码:package cn.system.manage.tools; import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;public class DBAccess {final static private String strDriver="com.mysql.jdbc.Driver";final static private Stringurl="jdbc:mysql://localhost:3306/xjgl?userUnicode=true&characterEnco ding=gb2312";final static private String user="root";final static private String password="admin";private static DBAccess db = null;private Connection con;private Statement stmt;private ResultSet rst;private DBAccess(){try {Class.forName(strDriver);con=DriverManager.getConnection(url, user, password); stmt=con.createStatement();} catch (ClassNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}}public static DBAccess getDBAccess(){if(db==null){db= new DBAccess();}return db;}public Connection getConnection(){return con;}public ResultSet query(String sql){try {rst=stmt.executeQuery(sql);} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}return rst;}public int update(String sql){int flag=0;try {flag=stmt.executeUpdate(sql);} catch (SQLException e) {// TODO Auto-generated catch block e.printStackTrace();return -1;}return flag;}public void close(){try {rst.close();stmt.close();con.close();} catch (SQLException e) {// TODO Auto-generated catch block e.printStackTrace();}}public ResultSet queryScroll(String sql){try{stmt = con.createStatement(1004, 1007);return stmt.executeQuery(sql);}catch(SQLException sqlexception){return null;}}}转换字符集代码:package cn.system.manage.tools;import java.io.IOException;import javax.servlet.Filter;import javax.servlet.FilterChain;import javax.servlet.FilterConfig;import javax.servlet.ServletException; import javax.servlet.ServletRequest;import javax.servlet.ServletResponse; import javax.servlet.http.HttpServletRequest; importjavax.servlet.http.HttpServletResponse; public class CharFilter implements Filter {public void destroy() {// TODO Auto-generated method stub}public void doFilter(ServletRequest arg0, ServletResponse arg1, FilterChain arg2) throws IOException, ServletException {// TODO Auto-generated method stubHttpServletRequest request = (HttpServletRequest)arg0;HttpServletResponse response = (HttpServletResponse)arg1;request.setCharacterEncoding("GBK");response.setCharacterEncoding("GBK");arg2.doFilter(arg0, arg1);}public void init(FilterConfig arg0) throws ServletException { // TODO Auto-generated method stub}}分页代码:package cn.system.manage.tools;import java.io.Serializable;import java.util.ArrayList;public class PageBean implements Serializable{ArrayList list;int pageNo;int pageSize;int pageSum;int rowCount;int pagePrev;int pageNext;int hasFirst;int hasPrev;int hasNext;int hasEnd;public PageBean(){list = null;list = new ArrayList();}public ArrayList getList(){return list;}public void setPageInfo(int myRowCount, int myPageSize) {if(myPageSize > 0){setPageSize(myPageSize);setRowCount(myRowCount);if(myRowCount > 0)setPageSum(((myRowCount + myPageSize) - 1) / myPageSize); }}public void setList(ArrayList list){this.list = list;}public int getPageNo(){return pageNo;}public void setPageNo(int pageNo){this.pageNo = pageNo;}public int getPagePrev(){return pageNo - 1;}public int getPageNext(){return pageNo + 1;}public int getPageSum(){return pageSum;}public void setPageSum(int pageSum) {this.pageSum = pageSum;}public int getHasPrev(){if(pageSum > 1)return pageNo >= 2 ? 1 : 0;elsereturn 0;}public int getHasNext(){if(pageSum > 1)return pageNo < pageSum ? 1 : 0; elsereturn 0;}public int getHasFirst(){if(pageSum > 1)return pageNo <= 1 ? 0 : 1;elsereturn 0;}public int getHasEnd(){if(pageSum > 1)return pageNo >= pageSum ? 0 : 1; elsereturn 0;}public int getPageSize(){return pageSize;}public void setPageSize(int pageSize) {this.pageSize = pageSize;}public void setPagePrev(int pagePrev) {this.pagePrev = pagePrev;}public void setHasPrev(int hasPrev) {this.hasPrev = hasPrev;}public void setHasNext(int hasNext) {this.hasNext = hasNext;}public void setHasFirst(int hasFirst) {this.hasFirst = hasFirst;}public void setHasEnd(int hasEnd) {this.hasEnd = hasEnd;}public void setPageNext(int pageNext) {this.pageNext = pageNext;}public int getRowCount(){return rowCount;}public void setRowCount(int rowCount) {this.rowCount = rowCount;}}。
SQL学生管理系统
学生学籍管理系统实验报告(SQL)学生学籍管理系统实验报告撰写人:肖睿学号:81引言通过完成从用户需求分析、数据库设计等全过程,进一步了解和掌握本书中所讲解的内容。
本《报告》中所涉及的数据流图是描绘系统的逻辑模型,图中没有任何具体的物理元素,只是描绘信息在系统中流动和处理的情况。
其各个符号意义说明如下:矩形:表示数据的源点或终点,即指外部实体。
(如图1-1)圆形:表示相应实体的属性。
(如图1-2)菱形:表示联系名。
(如图1-3)直线:表示各实体、属性间的联系。
(如图1-4)[课程设计全过程]业务过程描述需求分析(数据流图、数据字典设计)概念结构设计(数据库包含表、视图、各数据项说明等,用ER描述)逻辑结构设计(建立全局逻辑结构和关系模式,优化数据模型,设计用户子模式)系统安全设计(用户和角色、权限设计)系统实现描述(定义的主要存储过程、应用程序接口、系统体系结构、运行环境等,描述清楚即可)系统运行维护描述(备份策略、数据转换等工作的简单描述)设计备注和总结[业务过程描述](详细地调查分析系统对象、功能、性能等需求)[需求分析](详细地调查分析系统对象、功能、性能等需求)1、录入学生基本信息;2、根据学号、姓名查询学生基本信息;3、录入学生所修的课程;4、录入学生成绩;5、查询学生所修课程的成绩;6、查询某一课程不及格的学生;7、查询某一学生要补考的科目;[概念模型设计](从实践概括抽象出理论模型E/R)数据库需要表述的信息有以下几种:(1)、学生基本信息(2)、课程信息(3)、学生和课程信息间的关系(选修)图3 学生和课程信息间的关系(E/R模型)(4)老师和课程之间的关系(讲解)图4 老师和课程之间的关系(E/R模型)(5)班级和学生之间的关系(上课)图5 班级和学生之间的关系(E/R模型)(6)总E-R图[逻辑设计](从理论‘E/R模型’到理论‘关系模型’的整理转换)1、通过E/R模型到关系模型的转化,可以得到如下关系模式:(1)学生事体集转换为 ----------------> 关系:studen(SID, name ,sex ,birthday)(2)课程事体集转换为 -----------------> 关系:course(CID, cname, credit )(3)教师与课程转换为 -----------------> 关系:teacharcou(tname,CLID ,CID)(4)学生与课程转换为 -----------------> 关系:stucourse(SID ,CID ,credit)(5)班级与学生转换为 -----------------> 关系:cstudent(SID,CLID)(6)专业与班级转换为 -----------------> 关系:specla(CLID,speciality)(7)管理员(姓名,密码)(8)学生(学号,密码)每个关系模式的主键码都用下划线标出。
学生管理系统java实验报告
学生管理系统java实验报告一、实验目的本实验旨在设计一个学生管理系统,使用Java编程语言,通过面向对象的方式进行设计与实现。
二、实验内容1. 设计并实现学生类,包括学号、姓名、性别、年龄等属性,并提供对应的构造方法和操作方法。
2. 设计并实现学生管理类,包括添加学生、删除学生、查找学生、修改学生信息等操作。
3. 提供一个主程序,可以通过用户输入选择对应的学生管理操作。
三、实验步骤1. 首先,创建一个学生类`Student`,包括学号、姓名、性别、年龄等属性,并提供对应的构造方法和操作方法。
javapublic class Student {private String studentId;private String name;private String gender;private int age;public Student(String studentId, String name, String gender, int age) {this.studentId = studentId; = name;this.gender = gender;this.age = age;}Getter and Setter methodsOther methods (e.g., toString())}2. 接着,创建一个学生管理类`StudentManager`,包括添加学生、删除学生、查找学生、修改学生信息等操作。
javaimport java.util.ArrayList;public class StudentManager {private ArrayList<Student> students;public StudentManager() {students = new ArrayList<Student>();}public void addStudent(Student student) { students.add(student);System.out.println("学生添加成功!");}public void deleteStudent(String studentId) {for (int i = 0; i < students.size(); i++) {if (students.get(i).getStudentId().equals(studentId)) { students.remove(i);System.out.println("学生删除成功!");return;}}System.out.println("未找到该学生,删除失败!");}public Student findStudent(String studentId) {for (int i = 0; i < students.size(); i++) {if (students.get(i).getStudentId().equals(studentId)) {return students.get(i);}}return null;}public void updateStudent(Student student) {for (int i = 0; i < students.size(); i++) {if(students.get(i).getStudentId().equals(student.getStudentId())) {students.set(i, student);System.out.println("学生信息更新成功!");return;}}System.out.println("未找到该学生,更新失败!");}Other methods (e.g., displayAllStudents())}3. 最后,编写一个主程序`Main`,可以通过用户输入选择对应的学生管理操作。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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接收动作事件的监听器接口。