精华内容
下载资源
问答
  • 学生成绩管理系统

    2017-06-23 19:40:55
    本系统采用Eclipse开发的学生成绩管理系统,采用Mysql数据库,建表脚本在压缩文件中。主要功能有对学生成绩的增删查改,和成绩的批量导入和导出,成绩排序功能。
  • 注:以下笔记都是按照此博文进行开发学习,开发环境为Mac 。 一、从github上克隆项目到本地 gitclonehttps://github.com/RryLee/StuGradeWithLaravel5.git 二、切换到本地项目目录下,安装composer MacdeM...

    注:以下笔记都是按照此博文进行开发学习,开发环境为Mac 。

    一、从github上克隆项目到本地

     
     git clone https://github.com/RryLee/StuGradeWithLaravel5.git

    二、切换到本地项目目录下,安装composer

    MacdeMacBook-Pro-3:~ mac$ cd Desktop
    MacdeMacBook-Pro-3:StuGradeWithLaravel5 mac$ curl -sS https://getcomposer.org/installer | php
    All settings correct for using Composer
    Downloading 1.0.1...
    
    Composer successfully installed to: /Users/mac/Desktop/StuGradeWithLaravel5/composer.phar
    Use it: php composer.phar

       

      // 可以将上边的命令放入到 bin目录下,方便后边不用每次都输入上次的命令

    MacdeMacBook-Pro-3:StuGradeWithLaravel5 mac$ sudo mv composer.phar /usr/bin/composer
    MacdeMacBook-Pro-3:StuGradeWithLaravel5 mac$

     

      // 更新composer

    MacdeMacBook-Pro-3:StuGradeWithLaravel5 mac$ composer update

     

    更新出现这样的问题,-_-!!!

    MacdeMacBook-Pro-3:StuGradeWithLaravel5 mac$ composer update

    Loading composer repositories with package information

    Updating dependencies (including require-dev)

    Your requirements could not be resolved to an installable set of packages.

      Problem 1

        - laravel/framework v5.0.9 requires ext-mcrypt * -> the requested PHP extension mcrypt is missing from your system.

    看起来是php没有安装mcrypt扩展,如何安装mcrypt具体可以参考我的另一篇博文:

    Mac下安装PHP的mcrypt扩展的方法

     

    三、创建表和创建数据

    桌面进入:

    MacdeMacBook-Pro-3:~ mac$ cd Desktop/StuGrade

    MacdeMacBook-Pro-3:StuGrade mac$

    MacdeMacBook-Pro-3:StuGrade mac$ php artisan serve

    Laravel development server started on http://localhost:8000/

     

    利用Migration创建一个用户详细表

      生成一个表,注意表名一般为复数    --create=users_info 为后边的标示

    MacdeMacBook-Pro-3:laravel mac$ php artisan make:migration create_users_info_table  --create=users_info
    Created Migration: 2016_04_23_131412_create_users_info_table
    MacdeMacBook-Pro-3:laravel mac$

     

       然后在database/migrations生成的迁移文件中,添加相关的字段:

    2016_04_23_131412_create_users_info_table.php
    <?php
    
    use Illuminate\Database\Schema\Blueprint;
    use Illuminate\Database\Migrations\Migration;
    
    class CreateUsersTable extends Migration
    {
        /**
         * Run the migrations.
         *
         * @return void
         */
        public function up()
        {
            Schema::create('users', function (Blueprint $table) {
               $table->integer('id')->unique()->unsigned(); // 学号唯一,取正数
                $table->string('name');
                $table->string('password');
                $table->string('phone')->default('');
                $table->string('sex')->default('');
                $table->string('email')->default('');
                $table->string('pro_class')->default('');
                $table->boolean('is_admin')->default(0);
                $table->rememberToken();
                $table->timestamps();
            });
        }
    
        /**
         * Reverse the migrations.
         *
         * @return void
         */
        public function down()
        {
            Schema::drop('users');
        }
    }

     

    最后,执行 php artisan migrate命令,在数据库中生成表users_info

    MacdeMacBook-Pro-3:laravel mac$ php artisan migrate
    Migrated: 2016_04_23_132854_create_users_info_table

     

      应用artisan命令给users_info表填充数据

      用命令生成填充表UserInfoTableSeeder

     

    MacdeMacBook-Pro-3:~ mac$ cd Desktop/laravel
    MacdeMacBook-Pro-3:laravel mac$ php artisan make:seeder UsersInfoTableSeeder
    Seeder created successfully.
    MacdeMacBook-Pro-3:laravel mac$

     

     

    如下所示,我们将修改 Laravel 预先生成好的 UserInfoTableSeeder 类来给 run 方法添加一段可在数据库添加数据的语法:

    <?php
    
    use Illuminate\Database\Seeder;
    use App\UsersInfo;
    use App\Grade;
    
    class UsersInfoTableSeeder extends Seeder
    {
        /**
         * Run the database seeds.
         *
         * @return void
         */
        public function run()
        {
            DB::table('users_info')->delete();
    
            UsersInfo::create([
                'id' => 2010300001,
                'name' => '周润发',
                'password' => Hash::make('2010300001'),
            ]);
            UsersInfo::create([
                'id' => 2010300002,
                'name' => '周星驰',
                'password' => Hash::make('2010300002'),
            ]);
            UsersInfo::create([
                'id' => 2010300003,
                'name' => '成龙',
                'password' => Hash::make('2010300003'),
            ]);
            UsersInfo::create([
                'id' => 2010300004,
                'name' => '张曼玉',
                'password' => Hash::make('2010300004'),
            ]);
            UsersInfo::create([
                'id' => 2010300005,
                'name' => '林青霞',
                'password' => Hash::make('2010300005'),
            ]);
    
    
        }
    }

     

     

    在 DatabaseSeeder 类中,你可以使用 call 方法来运行其它的 seed 类。为避免发生单个 seeder 类变得太大的情况,可使用 call方法来将数据填充拆分成多个文件。只需简单传递你想要运行的 seeder 类名称即可:

    <?php
    
    use Illuminate\Database\Seeder;
    use Illuminate\Database\Eloquent\Model;
    
    class DatabaseSeeder extends Seeder
    {
        /**
         * Run the database seeds.
         *
         * @return void
         */
        public function run()
        {
            Model::unguard();
    
            // 执行插入用户详细数据
             $this->call(UsersInfoTableSeeder::class);
    
            Model::reguard();
        }
    }

     

       运行数据填充:

    MacdeMacBook-Pro-3:laravel mac$ composer dump-autoload
    Generating autoload files
    MacdeMacBook-Pro-3:laravel mac$ php artisan db:seed
    Seeded: UsersInfoTableSeeder

     

      查看users_info表,数据填充OK:

    233312_ADSb_2557944.png

    数据填充,Laravel中文官方文档http://laravel-china.org/docs/5.1/seeding

     

    PHP artisan 命令整合:

    创建控制器:

    php artisan make:controller Admin/AdminController

     

    创建中间件

         
    php artisan make:middleware isAdmin

     

    转载于:https://my.oschina.net/corwien/blog/663521

    展开全文
  • 学生成绩管理系统的需求分析到项目设计,从流程图设计到数据库建表,录入数据,源码讲解,到生成报告,附带项目运行详细环境配置.全方位的讲解学生成绩管理系统的制作.
  • ASP 学生成绩管理系统

    2010-06-28 11:01:24
    用ASP语言实现的学生成绩管理系统,有报告有源码。ASP+SQL Server2000 建表的语句以及初始化数据都已经在里面了。
  • 2.由于时间仓促,开发者未完成完整的学生成绩管理系统,仅有管理员和学生两个模块,管理员账户可以进行增,删,改功能,学生帐号仅有查询功能 3.没有界面设计,仅为初学者作品 3.数据库建表为 (1)账户表 (2)...
  • Java课程设计之 学生成绩管理系统

    千次阅读 多人点赞 2020-12-27 14:22:39
    设计开发一个学生成绩管理系统 (1)根据实现的功能,划分出合理的对象类,明确各个对象类之间的关系。为 各个对象类设计正确的域和方法,为每个方法设计合理的方法体。同时,为对象类及内部的域和方法运用正确的...

    实现内容:
    设计开发一个学生成绩管理系统
    (1)根据实现的功能,划分出合理的对象类,明确各个对象类之间的关系。为
    各个对象类设计正确的域和方法,为每个方法设计合理的方法体。同时,为对象类及内部的域和方法运用正确的修饰符。
    功能要求:
    (1)录入成绩 (2) 查询成绩
    (3) 成绩排序 (4) 修改成绩
    (5) 删除成绩 (6) 将数据保存在数据库表中

    该课程设计涉及MySQL数据库,建表操作,java操作SQL语句(JDBC数据库操作)以及JavaSwing与事件处理。
    在这里插入图片描述
    源程序(仅做参考):

    //**学生类**
    public class Student {
    
    	String id;  // 学号
    	String name; // 姓名
    	float math;  //数学成绩
    	float physics;   //物理成绩
    	float english;  //英语成绩
    	public Student() {}
    	public Student(String id, String name, float math, float physics, float english) {  //定义带参的构造函数
    		super();  //调用父类的无参的构造函数
    		this.id = id;
    		this.name = name;
    		this.math = math;
    		this.physics = physics;
    		this.english = english;
    	}
    	
    	//定义一个方法设置个变量的值
    	public void set(String id,String name,float math,float physics,float english) {
    		this.id = id;
    		this.name = name;
    		this.math = math;
    		this.physics = physics;
    		this.english = english;
    	}
    	public String getId() {  //定义一个方法获取学号
    		return id;
    	}
    	public String getName() {  //定义一个方法获取姓名
    		return name;
    	}
    	public float getMath() { //定义一个方法获取数学成绩
    		return math;
    	}
    	public float getPhysics() {  //定义一个方法获取物理成绩
    		return physics;
    	}
    	public float getEnglish() {  //定义一个方法获取英语成绩
    		return english;
    	}
    	
    	//重写toString方法 使其输出指定的格式
    	@Override
    	public String toString() {
    		// TODO Auto-generated method stub
    		return "[ 学号: "+id+"  姓名: "+name+"  数学成绩: "+math+"   物理成绩: "+physics+"  英语成绩: "+english+"]";
    	}
    }
    
    //测试类
    import java.awt.BorderLayout;
    
    import javax.swing.JFrame;
    import javax.swing.JTabbedPane;
    
    class mySwing {
    	JFrame frame;  //定义一个窗口
    	JTabbedPane tabbedPane;  //定义一个选项卡窗格
    	
    	public void init() {  //定义一个方法来对选项卡窗格进行操作
    		tabbedPane = new JTabbedPane();  //实例化选项卡窗格
    		tabbedPane.add("录入成绩",new addPanel().panel);  //向选项卡窗格中添加”录入成绩“窗格
    		tabbedPane.add("查询成绩",new checkPanel().panel2); //向选项卡窗格中添加”查询成绩“窗格
    		tabbedPane.add("排序成绩",new sortPanel().panel3);  //向选项卡窗格中添加”排序成绩“窗格
    		tabbedPane.add("修改成绩",new modifyPanel().panel4);  //向选项卡窗格中添加”修改成绩“窗格
    		tabbedPane.add("删除记录",new deletePanel().panel5);  //向选项卡窗格中添加”删除记录“窗格
    	}
    	
    	//先创建一个窗口
    	public mySwing() {  //创建一个无参的构造方法由于初始化窗体
    		frame = new JFrame("XXX学校学生成绩管理系统");  //实例化窗口
    		init();  //调用init方法
    		frame.add(tabbedPane,BorderLayout.NORTH);  //向窗口中添加选项卡窗格
    		frame.setVisible(true);  //设置窗口可见
    		frame.setSize(500, 580);  //设置窗口的大小
    		frame.setLocationRelativeTo(null);  //设置窗口的位置为桌面中心
    		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  //设置单击窗口的关闭按钮后程序自动停止运行
    	}
    }
    
    
    public class myText {
    
    	public static void main(String[] args) {
    		new mySwing();  //通过匿名对象调用
    	}
    }
    
    //添加数据实现
    import java.awt.BorderLayout;
    import java.awt.FlowLayout;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    
    import javax.swing.Box;
    import javax.swing.JButton;
    import javax.swing.JLabel;
    import javax.swing.JPanel;
    import javax.swing.JTextArea;
    import javax.swing.JTextField;
    
    public class addPanel{
    	MyDBUtil dbUtil = new MyDBUtil();  //创建自己写的数据库对象
    	JPanel panel;  //定义一个面板引用
    
    	//录入成绩 窗口组件设置
    	JPanel p1,p2,p3,p4;  //定义4个面板引用
    	Box boxH1,boxH2;   //创建两个行式盒。
    	Box box1,box2,box3,box4;  //创建四个列式盒
    	JButton button;  //定义一个按钮
    	JTextField textField1,textField2,textField3,textField4,textField5;  //定义五个单行文本框
    	JTextArea area;  //定义一个多行文本框
    		
    	//录入成绩窗口
    	public addPanel() {  //创建无参的构造函数
    		boxH1 = Box.createHorizontalBox();  //实例化行式盒 boxH1
    		boxH2 = Box.createHorizontalBox();  //实例化行式盒 boxH2
    		
    		box1 = Box.createVerticalBox(); //实例化列式盒 box1
    		box1.add(Box.createVerticalStrut(35)); //向列式盒中添加不可见的垂直Strut对象
    		box1.add(new JLabel("学号")); //向列式盒中添加  "学号" 标签
    		box1.add(Box.createVerticalStrut(35)); //向列式盒中添加不可见的垂直Strut对象
    		box1.add(new JLabel("数学成绩")); //向列式盒中添加  "数学成绩" 标签
    		box1.add(Box.createVerticalStrut(35)); //向列式盒中添加不可见的垂直Strut对象
    		box1.add(new JLabel("英语成绩"));  //向列式盒中添加  "英语成绩" 标签
    		boxH1.add(box1); //向行式盒中添加列式盒box1
    		boxH1.add(Box.createHorizontalStrut(55));  //在行式盒中设置一个不可见的长为55的水平Strut对象
    
    		box2 = Box.createVerticalBox();//实例化列式盒 box2
    		textField1 = new JTextField(12); //实例化单行文本框
    		textField2 = new JTextField(12);//实例化单行文本框
    		textField3 = new JTextField(12);//实例化单行文本框
    		box2.add(Box.createVerticalStrut(35)); //向列式盒中添加不可见的垂直Strut对象
    		box2.add(textField1);  //向列式盒中添加单行文本框
    		box2.add(Box.createVerticalStrut(35)); //向列式盒中添加不可见的垂直Strut对象
    		box2.add(textField2); //向列式盒中添加单行文本框
    		box2.add(Box.createVerticalStrut(35)); //向列式盒中添加不可见的垂直Strut对象
    		box2.add(textField3); //向列式盒中添加单行文本框
    		boxH1.add(box2); //向行式盒中添加列式盒box2
    
    		box3 = Box.createVerticalBox(); //实例化列式盒 box3
    		box3.add(Box.createVerticalStrut(35)); //向列式盒中添加不可见的垂直Strut对象
    		box3.add(new JLabel("姓名")); //向列式盒中添加  "姓名" 标签
    		box3.add(Box.createVerticalStrut(35)); //向列式盒中添加不可见的垂直Strut对象
    		box3.add(new JLabel("物理成绩")); //向列式盒中添加 "物理成绩" 标签
    		boxH2.add(box3); //向行式盒中添加列式盒box3
    		boxH2.add(Box.createHorizontalStrut(55));  //在行式盒中设置一个不可见的长为55的水平Strut对象
    		
    		box4 = Box.createVerticalBox();//实例化列式盒 box3
    		box4.add(Box.createVerticalStrut(35)); //向列式盒中添加不可见的垂直Strut对象
    		textField4 = new JTextField(12); //实例化单行文本框
    		textField5 = new JTextField(12); //实例化单行文本框
    		box4.add(textField4);//向列式盒中添加单行文本框
    		box4.add(Box.createVerticalStrut(35)); //向列式盒中添加不可见的垂直Strut对象
    		box4.add(textField5);//向列式盒中添加单行文本框
    		boxH2.add(box4); //向行式盒中添加列式盒box4
    		
    		button =new JButton("录入");  //实例化按钮对象
    		button.addActionListener(new ActionListener() {  //事件处理 , 给按钮添加监视器
    			
    			@Override
    			public void actionPerformed(ActionEvent e) {
    				//实例化Student类对象并传值
    				try {
    					Student student = new Student(textField1.getText(), textField4.getText(), Float.parseFloat(textField2.getText()), Float.parseFloat(textField5.getText()), Float.parseFloat(textField3.getText()));
    					dbUtil.add(student); //调用MyDBUtil类中的add方法,并把student作为值传入
    					area.setText("你输入的信息添加成功!!"+"\r\n"+"你可以通过查询成绩来查看相关信息!!"); //添加成功后设置area中的信息提示
    					//执行上面的方法后将文本框中的值清除
    					textField1.setText("");
    					textField2.setText("");
    					textField3.setText("");
    					textField4.setText("");
    					textField5.setText("");
    				} catch (NumberFormatException e1) {
    					// TODO Auto-generated catch block
    					area.setText("温馨提示!!"+"\r\n"+"添加成绩失败,请重新进行操作!!");//添加失败后设置area中的信息提示
    					textField1.setText("");
    					textField2.setText("");
    					textField3.setText("");
    					textField4.setText("");
    					textField5.setText("");
    				}
    				 
    			}
    		});
    		p3 = new JPanel(); //实例化面板对象
    		p3.setLayout(new FlowLayout(FlowLayout.CENTER,5,100));  //设置p3面板的布局为FlowLayout布局,并设置水平和垂直间距
    		p3.add(button);   //将按钮添加到p3面板中
    		
    		p1 = new JPanel();  //实例化面板对象
    		p1.add(boxH1); //向p1面板里添加boxH1
    		p2 = new JPanel();  //实例化面板对象
    		p2.add(boxH2);  //向p2面板中添加boxH2对象
    		
    		p4 = new JPanel(); //实例化面板对象
    		area = new JTextArea("请在下面输入你想存入的相关的信息!!!",3,30); //实例化多行文本框并做初值的设定
    		p4.add(area);  //向p4面板中添加area
    		
    		panel = new JPanel();  //实例化面板对象
    		panel.setLayout(new BorderLayout()); //设置panel面板的布局为BorderLayout布局
    		panel.add(p1,BorderLayout.WEST);  //向panel面板的西边添加p1面板
    		panel.add(p2); //向panel面板中添加p2面板
    		panel.add(p3,BorderLayout.SOUTH); //向panel面板的南面添加p3面板
    		panel.add(p4,BorderLayout.NORTH); //向panel面板的北面添加p4面板				
    	}
    }
    
    //查询数据实现
    import java.awt.BorderLayout;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.util.LinkedList;
    
    import javax.swing.JButton;
    import javax.swing.JPanel;
    import javax.swing.JScrollPane;
    import javax.swing.JTable;
    
    
    public class checkPanel implements ActionListener{
    	JTable table; //定义一个表格引用
    	Object name[]={"学号","姓名","数学成绩","物理成绩","英语成绩"}; //定义一个姓名数组
    	Object a[][];  //定义一个a数组
    	ResultSet rs=null;
    	MyDBUtil dbUtil = new MyDBUtil(); //创建一个MyDBUtil对象
    	LinkedList <Student>list=null;  //定义一个LinkedList集合对象
    	
    	JPanel panel2;  //定义一个面板
    	JButton button1;  //定义一个按钮
    	//查询成绩窗口设置
    	
    	public void setList(){  //定义一个方法获取数据并将数据存入集合中
    			
    			rs= dbUtil.checkAll(); //调用MyDBUtil类中的checkAll方法。
    			list=new LinkedList<Student>(); //实例化集合对象
    			if(rs!=null){
    				try {
    					while(rs.next()){  //通过循环将数据存入集合中
    						list.add(new Student(rs.getString(1),rs.getString(2),rs.getFloat(3),rs.getFloat(4),rs.getFloat(5)));
    	
    					}
    				} catch (SQLException e) {
    					// TODO Auto-generated catch block
    					e.printStackTrace();
    				}
    			}
    		}
    	public void setTable() {  //定义一个方法设置表格
    		setList();  //调用setlist方法
    		a=new Object[list.size()][name.length];  //实例化数组a,并设置其行和列的大小
    		for(int i=0;i<list.size();i++){  //通过循环向数组中存入数据以放入表格中
    			Student s=list.get(i); //拿到集合的第i个位置的元素并传给Student对象
    			//通过Student对象的get方法获取相应的值
    			a[i][0]=s.getId();
    			a[i][1]=s.getName();
    			a[i][2]=s.getMath();
    			a[i][3]=s.getPhysics();
    			a[i][4]=s.getEnglish();
    		}
    	    panel2.removeAll();   //使其面板刷新
    	    
    	    button1 = new JButton("刷新");  //实例化按钮对象
    	    button1.addActionListener(this);  //给按钮添加监视器
    	    table=new JTable(a, name); //实例化表格
    	    
    	    panel2.add(button1,BorderLayout.SOUTH); //向面板中添加按钮
    		panel2.add(new JScrollPane(table),BorderLayout.NORTH);  //向面板中添加表格
    	}
    
    	public checkPanel() {  //定义一个无参的构造函数
    		
    		panel2 = new JPanel(); //实例化面板对象
    		panel2.setLayout(new BorderLayout()); //设置面板的布局为BorderLayout()布局。
    		
    		setTable();  //调用setTable方法
    	}
    	@Override
    	public void actionPerformed(ActionEvent e) {  //添加事件
    		setTable();  //调用上面的setTable方法
    		
    	}
    }
    
    // 排序实现
    import java.awt.BorderLayout;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.util.LinkedList;
    
    import javax.swing.JButton;
    import javax.swing.JPanel;
    import javax.swing.JScrollPane;
    import javax.swing.JTable;
    import javax.swing.JTextArea;
    import javax.swing.JTextField;
    
    public class sortPanel implements ActionListener {
    
    	JTable table;  //定义一个表格引用
    	Object name[]={"学号","姓名","数学成绩","物理成绩","英语成绩"};  //定义一个姓名数组
    	Object aa[][]; //定义一个aa数组
    	ResultSet rs=null;
    	MyDBUtil dbUtil = new MyDBUtil();  //创建一个MyDBUtil对象
    	LinkedList <Student>list=null;  //定义一个LinkedList集合对象
    	
    	JPanel panel3,p1,p2;  //定义三个面板
    	JTextField field;  //定义一个单行文本框
    	JTextArea area;  //定义一个多行文本框
    	JButton b1,b2; //定义两个按钮
    	
    	public void setList(){ //定义一个方法获取数据并将数据存入集合中
    		
    		rs= dbUtil.checkAll();  //调用MyDBUtil类中的checkAll方法。
    		list=new LinkedList<Student>(); //实例化集合对象
    		if(rs!=null){
    			try {
    				while(rs.next()){  //通过循环向集合中添加元素
    					list.add(new Student(rs.getString(1),rs.getString(2),rs.getFloat(3),rs.getFloat(4),rs.getFloat(5)));
    	
    				}
    			} catch (SQLException e) {
    				// TODO Auto-generated catch block
    				e.printStackTrace();
    			}
    		}
    	}
    	
    	public void setList1(String grade,String sort){ //定义一个方法获取数据并将数据存入集合中 , 并设定指定的参数
    		
    		rs= dbUtil.checkAll(grade,sort);  //调用MyDBUtil中的带参数的checkAll方法
    		list=new LinkedList<Student>();  //实例化集合对象
    		if(rs!=null){
    			try {
    				while(rs.next()){   //通过循环向集合中添加元素
    					list.add(new Student(rs.getString(1),rs.getString(2),rs.getFloat(3),rs.getFloat(4),rs.getFloat(5)));
    	
    				}
    			} catch (SQLException e) {
    				// TODO Auto-generated catch block
    				e.printStackTrace();
    			}
    		}
    	}
    	
    	public void setTable() { //定义一个方法设置表格
    		setList();   //初始情况下先调用setList方法
    		aa=new Object[list.size()][name.length];  //实例化数组aa,并设置其行和列的大小
    		for(int i=0;i<list.size();i++){  //通过循环向数组中存入数据以放入表格中
    			Student s=list.get(i);  //拿到集合的第i个位置的元素并传给Student对象
    			//通过Student对象的get方法获取相应的值
    			aa[i][0]=s.getId();
    			aa[i][1]=s.getName();
    			aa[i][2]=s.getMath();
    			aa[i][3]=s.getPhysics();
    			aa[i][4]=s.getEnglish();
    		}
    	    panel3.removeAll();  //使其面板刷新
    	    
    	    b1 = new JButton("升序");   //实例化按钮对象
    	    b1.addActionListener(this);  //给按钮添加监视器
    	    b2 = new JButton("降序");  //实例化按钮对象
    	    b2.addActionListener(this);  //给按钮添加监视器
    	   
    	    area = new JTextArea("请按表格输入你想排序的信息。如: 数学成绩!!",2,15); //实例化多行文本框
    	    field = new JTextField(16);   //实例化单行文本框
    	    p1 = new JPanel();  //实例化面板对象
    	    p1.add(field);  //向面板中添加文本框
    	    p1.add(b1);  //向面板中添加按钮
    	    p1.add(b2);  //向面板中添加按钮
    	    
    	    p2 = new JPanel();  //实例化面板对象
    	    p2.setLayout(new BorderLayout());  //设置面板的布局为BorderLayout布局
    	    p2.add(p1,BorderLayout.SOUTH);  //向p2面板中添加p1面板
    	    p2.add(area);  //向p2面板中添加area
    	    
    	    table=new JTable(aa, name);  //实例化表格
    	    panel3.add(p2);  //向panel3面板中添加p1面板
    	    panel3.add(new JScrollPane(table),BorderLayout.NORTH);   //向panel3面板中添加表格
    	}
    	
    	public sortPanel() {
    			
    			panel3 = new JPanel();   //实例化面板对象
    			panel3.setLayout(new BorderLayout());  //设置面板的布局为BorderLayout布局
    			
    			setTable();  //调用setTable方法。
    		}
    		@Override
    		public void actionPerformed(ActionEvent e) {   //添加事件
    			//通过条件语句判断输入的信息是否符合要求
    			if("学号".equals(field.getText())||"姓名".equals(field.getText())||"数学成绩".equals(field.getText())||"物理成绩".equals(field.getText())||"英语成绩".equals(field.getText())) {   
    				if ("升序".equals(e.getActionCommand())) {  //判断字符是否相等
    					setList1(field.getText(),"asc");   //条件成立的情况下设置参
    					aa=new Object[list.size()][name.length];  //实例化数组aa,并设置其行和列的大小
    					for(int i=0;i<list.size();i++){  //通过循环向数组中存入数据以放入表格中
    						Student s=list.get(i);  //拿到集合的第i个位置的元素并传给Student对象
    						//通过Student对象的get方法获取相应的值
    						aa[i][0]=s.getId();
    						aa[i][1]=s.getName();
    						aa[i][2]=s.getMath();
    						aa[i][3]=s.getPhysics();
    						aa[i][4]=s.getEnglish();
    					}
    					panel3.removeAll();  //使其面板刷新
    					
    					b1 = new JButton("升序");  //实例化按钮对象
    					b1.addActionListener(this); //给按钮添加监视器
    					b2 = new JButton("降序");  //实例化按钮对象
    					b2.addActionListener(this); //给按钮添加监视器
    					
    					area = new JTextArea(field.getText()+"的升序如表格所示!!",2,15); //实例化多行文本框
    				    field = new JTextField(16);   //实例化单行文本框
    				    p1 = new JPanel();  //实例化面板对象
    				    p1.add(field);  //向面板中添加文本框
    				    p1.add(b1);  //向面板中添加按钮
    				    p1.add(b2);  //向面板中添加按钮
    				    
    				    p2 = new JPanel();  //实例化面板对象
    				    p2.setLayout(new BorderLayout());  //设置面板的布局为BorderLayout布局
    				    p2.add(p1,BorderLayout.SOUTH);  //向p2面板中添加p1面板
    				    p2.add(area);  //向p2面板中添加area
    				    
    				    table=new JTable(aa, name);  //实例化表格
    				    panel3.add(p2);  //向panel3面板中添加p1面板
    				    panel3.add(new JScrollPane(table),BorderLayout.NORTH);   //向panel3面板中添加表格
    					
    			 }
    			 if ("降序".equals(e.getActionCommand())) {  //判断获取的字符是否相等
    				 setList1(field.getText(),"desc");  //条件成立的情况下设置参数
    					aa=new Object[list.size()][name.length];  //实例化数组aa,并设置其行和列的大小
    					for(int i=0;i<list.size();i++){   //通过循环向数组中存入数据以放入表格中
    						Student s=list.get(i);  //拿到集合的第i个位置的元素并传给Student对象
    						//通过Student对象的get方法获取相应的值
    						aa[i][0]=s.getId();
    						aa[i][1]=s.getName();
    						aa[i][2]=s.getMath();
    						aa[i][3]=s.getPhysics();
    						aa[i][4]=s.getEnglish();
    					}
    				    panel3.removeAll();  //使其面板刷新
    				    
    				    b1 = new JButton("升序");  //实例化按钮对象
    				    b1.addActionListener(this); //给按钮添加监视器
    				    b2 = new JButton("降序");  //实例化按钮对象
    				    b2.addActionListener(this); //给按钮添加监视器
    				    
    				    area = new JTextArea(field.getText()+"的降序如表格所示!!",2,15); //实例化多行文本框
    				    field = new JTextField(16);   //实例化单行文本框
    				    p1 = new JPanel();  //实例化面板对象
    				    p1.add(field);  //向面板中添加文本框
    				    p1.add(b1);  //向面板中添加按钮
    				    p1.add(b2);  //向面板中添加按钮
    				    
    				    p2 = new JPanel();   //实例化面板对象
    				    p2.setLayout(new BorderLayout());  //设置面板的布局为BorderLayout布局
    				    p2.add(p1,BorderLayout.SOUTH);  //向p2面板中添加p1面板
    				    p2.add(area);  //向p2面板中添加area
    				    
    				    table=new JTable(aa, name);  //实例化表格
    				    panel3.add(p2);  //向panel3面板中添加p1面板
    				    panel3.add(new JScrollPane(table),BorderLayout.NORTH);   //向panel3面板中添加表格
    			 }
    		}else {
    			setList();   //初始情况下先调用setList方法
    			aa=new Object[list.size()][name.length];  //实例化数组aa,并设置其行和列的大小
    			for(int i=0;i<list.size();i++){  //通过循环向数组中存入数据以放入表格中
    				Student s=list.get(i);  //拿到集合的第i个位置的元素并传给Student对象
    				//通过Student对象的get方法获取相应的值
    				aa[i][0]=s.getId();
    				aa[i][1]=s.getName();
    				aa[i][2]=s.getMath();
    				aa[i][3]=s.getPhysics();
    				aa[i][4]=s.getEnglish();
    			}
    		    panel3.removeAll();  //使其面板刷新
    		    
    		    b1 = new JButton("升序");   //实例化按钮对象
    		    b1.addActionListener(this);  //给按钮添加监视器
    		    b2 = new JButton("降序");  //实例化按钮对象
    		    b2.addActionListener(this);  //给按钮添加监视器
    		   
    		    area = new JTextArea("温馨提示!!"+"\r\n"+"你输入的信息有误,请按表格输入你想排序的信息!!",2,15); //实例化多行文本框
    		    field = new JTextField(16);   //实例化单行文本框
    		    p1 = new JPanel();  //实例化面板对象
    		    p1.add(field);  //向面板中添加文本框
    		    p1.add(b1);  //向面板中添加按钮
    		    p1.add(b2);  //向面板中添加按钮
    		     
    		    p2 = new JPanel();  //实例化面板对象
    		    p2.setLayout(new BorderLayout());  //设置面板的布局为BorderLayout布局
    		    p2.add(p1,BorderLayout.SOUTH);  //向p2面板中添加p1面板
    		    p2.add(area);  //向p2面板中添加area
    		    
    		    table=new JTable(aa, name);  //实例化表格
    		    panel3.add(p2);  //向panel3面板中添加p1面板
    		    panel3.add(new JScrollPane(table),BorderLayout.NORTH);   //向panel3面板中添加表格
    		}
    	}
    }
    
    // 修改数据实现
    import java.awt.BorderLayout;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    
    import javax.swing.Box;
    import javax.swing.JButton;
    import javax.swing.JLabel;
    import javax.swing.JPanel;
    import javax.swing.JTextArea;
    import javax.swing.JTextField;
    
    public class modifyPanel {
    	MyDBUtil dbUtil = new MyDBUtil();  //创建MyDBUtil类的对象
    	JPanel panel4;  //创建一个面板
    	
    	//修改成绩窗口组件设置
    	JPanel p1,p2,p3,p4;  //定义四个面板
    	Box boxH1,boxH2;  //定义两个行式盒
    	Box box1,box2,box3,box4; //定义四个列式盒
    	JButton button1;  //定义一个按钮
    	JTextField t1,t2,t3,t4,t5,t6;  //定义六个单号文本框
    	JTextArea area;
    	
    	public modifyPanel() {  //定义一个无参的构造函数
    		//实例化行式盒
    		boxH1 = Box.createHorizontalBox();
    		boxH2 = Box.createHorizontalBox();
    		
    		box1 = Box.createVerticalBox(); //实例化列式盒
    		box1.add(Box.createVerticalStrut(50)); //向列式盒中添加不可见的垂直Strut对象
    		box1.add(new JLabel("学号"));  //向列式盒中添加 “学号” 标签
    		box1.add(Box.createVerticalStrut(35)); //向列式盒中添加不可见的垂直Strut对象
    		box1.add(new JLabel("数学成绩"));  //向列式盒中添加 “数学成绩” 标签
    		box1.add(Box.createVerticalStrut(35)); //向列式盒中添加不可见的垂直Strut对象
    		box1.add(new JLabel("英语成绩"));  //向列式盒中添加 “英语成绩” 标签
    		boxH1.add(box1);  //向行式盒boxH1中添加列式盒box1
    		boxH1.add(Box.createHorizontalStrut(50));   //在行式盒boxH1中设置一个水平为50的不可见的Strut对象。
    		
    		box2 = Box.createVerticalBox();  //实例化列式盒
    		box2.add(Box.createVerticalStrut(50)); //向列式盒中添加不可见的垂直Strut对象
    		//实例化单行文本框
    		t1 = new JTextField(12);   
    		t2 = new JTextField(12);  
    		t3 = new JTextField(12);  
    		//向列式盒中添加单行文本框
    		box2.add(t1);
    		box2.add(Box.createVerticalStrut(35)); //向列式盒中添加不可见的垂直Strut对象
    		box2.add(t2);
    		box2.add(Box.createVerticalStrut(35)); //向列式盒中添加不可见的垂直Strut对象
    		box2.add(t3);
    		boxH1.add(box2);  //向行式盒中添加列式盒
    		
    		box3 = Box.createVerticalBox(); //实例化列式盒
    		box3.add(Box.createVerticalStrut(50)); //向列式盒中添加不可见的垂直Strut对象
    		box3.add(new JLabel("姓名"));  //向列式盒中添加 “姓名” 标签
    		box3.add(Box.createVerticalStrut(35)); //向列式盒中添加不可见的垂直Strut对象
    		box3.add(new JLabel("物理成绩")); //向列式盒中添加 “物理成绩” 标签
    		boxH2.add(box3);  //向行式盒中添加列式盒
    		boxH2.add(Box.createHorizontalStrut(70));  //在行式盒boxH2中设置一个水平为50的不可见的Strut对象
    		
    		box4 = Box.createVerticalBox(); //实例化列式盒
    		box4.add(Box.createVerticalStrut(50)); //向列式盒中添加不可见的垂直Strut对象
    		//实例化单行文本框
    		t4 = new JTextField(12);
    		t5 = new JTextField(12);
    		//向列式盒中添加单行文本框
    		box4.add(t4);
    		box4.add(Box.createVerticalStrut(35)); //向列式盒中添加不可见的垂直Strut对象
    		box4.add(t5);
    		boxH2.add(box4);  //向行式盒中添加列式盒
    		
    		p2 = new JPanel();   //实例化面板对象
    		p2.add(boxH1);  //向p2面板中添加行式盒boxH1
    		p3 = new JPanel();  //实例化面板对象
    		p3.add(boxH2);   //向p3面板中添加行式盒boxH2
    		
    		t6 = new JTextField(10); //实例化一个单行文本框
    		button1 = new JButton("修改");   //实例化一个按钮对象
    		button1.addActionListener(new ActionListener() {  //给按钮添加监视器处理事件
    			
    			@Override
    			public void actionPerformed(ActionEvent e) {
    				try {  //异常情况处理
    					if(t1.getText().equals(t6.getText())) {   //通过条件判断语句判断输入的信息是否符合要求
    						//获取到文本框中的内容传给Student类
    						Student student = new Student(t1.getText(), t4.getText(), Float.parseFloat(t2.getText()), Float.parseFloat(t5.getText()), Float.parseFloat(t3.getText()));    
    						dbUtil.modify(student);  //调用MyDBUtil类中的modify类
    						area.setText("成绩信息修改成功,你可以通过查询成绩来查看相关信息!!!"); //给多行文本框设值
    						//运行之后设置文本框的值为空
    						t1.setText("");
    						t2.setText("");
    						t3.setText("");
    						t4.setText("");
    						t5.setText("");
    						t6.setText("");
    					}else {
    						area.setText("温馨提示!!"+"\r\n"+"由于两处学号信息不一致,无法进行修改.."+"\r\n"+"请重新输入你想修改的信息!!"); //给多行文本框设值
    						//运行之后设置文本框的值为空
    						t1.setText("");
    						t2.setText("");
    						t3.setText("");
    						t4.setText("");
    						t5.setText("");
    						t6.setText("");
    					}
    				} catch (NumberFormatException e1) {  //异常情况处理
    					// TODO Auto-generated catch block
    					area.setText("温馨提示!!"+"\r\n"+"输入的成绩不符合要求,修改失败,请重新进行操作!!");//修改失败后设置area中的信息提示
    					//运行之后设置文本框的值为空
    					t1.setText("");
    					t2.setText("");
    					t3.setText("");
    					t4.setText("");
    					t5.setText("");
    					t6.setText("");
    				}
    			}
    		});
    		p4 = new JPanel();  //实例化面板对象
    		p4.add(new JLabel("输入学号: "));  //向p4面板中添加标签
    		p4.add(t6);  //向p4面板中添加t6文本框
    		p4.add(button1);  //向p4面板添加按钮
    		
    		area = new JTextArea("请按标签信息输入你想修改的信息!!",5,30);  //实例化多行文本框
    		p1 = new JPanel();  //实例化面板
    		p1.add(area);  //向面板中添加area
    		
    		panel4 = new JPanel();  //实例化面板对象
    		panel4.setLayout(new BorderLayout());  //设置panel4面板的布局为BorderLayout布局
    		panel4.add(p2,BorderLayout.WEST); //向panel4面板中添加p2面板并放在panel4的西面。
    		panel4.add(p3);  //向panel4面板中添加p3面板
    		panel4.add(p4,BorderLayout.SOUTH); //向panel4面板中添加p4面板并放在panel4的南面。
    		panel4.add(p1,BorderLayout.NORTH);  //向panel4面板中添加p1面板并放在panel4的北面。
    		
    	}
    }
    
    // 删除数据实现
    import java.awt.BorderLayout;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    
    import javax.swing.Box;
    import javax.swing.JButton;
    import javax.swing.JLabel;
    import javax.swing.JPanel;
    import javax.swing.JTextArea;
    import javax.swing.JTextField;
    
    public class deletePanel {
    	MyDBUtil dbUtil = new MyDBUtil();   //创建MyDBUtil类的对象
    	JPanel panel5;  //定义一个面板对象
    	
    	JPanel p1,p2,p3,p4;   //定义四个面板对象
    	Box boxH1,boxH2;  //定义两个行式盒
    	Box boxV1,boxV2,boxV3,boxV4;  //定义四个列式盒
    	JButton button1;  //定义一个按钮
    	JTextField te1,te2,te3,te4,te5,te6;  //定义六个单行文本框
    	JTextArea area;  //定义一个多行文本框
    	
    	public deletePanel() {  //定义一个无参的构造函数
    		//实例化行式盒
    		boxH1 = Box.createHorizontalBox();
    		boxH2 = Box.createHorizontalBox();
    		
    		boxV1 = Box.createVerticalBox(); //实例化列式盒
    		boxV1.add(Box.createVerticalStrut(50)); //向列式盒中添加不可见的垂直Strut对象
    		boxV1.add(new JLabel("学号"));  //向列式盒中添加 “学号” 标签
    		boxV1.add(Box.createVerticalStrut(35)); //向列式盒中添加不可见的垂直Strut对象
    		boxV1.add(new JLabel("数学成绩"));  //向列式盒中添加 “数学成绩” 标签
    		boxV1.add(Box.createVerticalStrut(35)); //向列式盒中添加不可见的垂直Strut对象
    		boxV1.add(new JLabel("英语成绩"));  //向列式盒中添加 “英语成绩” 标签
    		boxH1.add(boxV1);  //向行式盒boxH1中添加列式盒boxV1
    		boxH1.add(Box.createHorizontalStrut(50));  //在行式盒boxH1中设置一个水平为50的不可见的Strut对象。
    		
    		boxV2 = Box.createVerticalBox(); //实例化列式盒
    		boxV2.add(Box.createVerticalStrut(50)); //向列式盒中添加不可见的垂直Strut对象
    		//实例化单行文本框
    		te1 = new JTextField(12);
    		te2 = new JTextField(12);
    		te3 = new JTextField(12);
    		//向列式盒中添加单行文本框
    		boxV2.add(te1);
    		boxV2.add(Box.createVerticalStrut(35)); //向列式盒中添加不可见的垂直Strut对象
    		boxV2.add(te2);
    		boxV2.add(Box.createVerticalStrut(35)); //向列式盒中添加不可见的垂直Strut对象
    		boxV2.add(te3);
    		boxH1.add(boxV2); //向行式盒中添加列式盒
    		
    		boxV3 = Box.createVerticalBox();  //实例化列式盒
    		boxV3.add(Box.createVerticalStrut(50)); //向列式盒中添加不可见的垂直Strut对象
    		boxV3.add(new JLabel("姓名"));  //向列式盒中添加 “姓名” 标签
    		boxV3.add(Box.createVerticalStrut(35)); //向列式盒中添加不可见的垂直Strut对象
    		boxV3.add(new JLabel("物理成绩"));  //向列式盒中添加 “物理成绩” 标签
    		boxH2.add(boxV3);  //向行式盒中添加列式盒
    		boxH2.add(Box.createHorizontalStrut(70));  //在行式盒boxH2中设置一个水平为50的不可见的Strut对象
    		
    		boxV4 = Box.createVerticalBox();  //实例化列式盒
    		boxV4.add(Box.createVerticalStrut(50)); //向列式盒中添加不可见的垂直Strut对象
    		//实例化单行文本框
    		te4 = new JTextField(12);
    		te5 = new JTextField(12);
    		//向列式盒中添加单行文本框
    		boxV4.add(te4);
    		boxV4.add(Box.createVerticalStrut(35)); //向列式盒中添加不可见的垂直Strut对象
    		boxV4.add(te5);
    		boxH2.add(boxV4);  //向行式盒中添加列式盒
    		
    		p1 = new JPanel();  //实例化面板对象
    		p1.add(boxH1);  //向p1面板中添加行式盒boxH1
    		p2 = new JPanel();   //实例化面板对象
    		p2.add(boxH2);  //向p2面板中添加行式盒boxH2
    		
    		te6 = new JTextField(10);  //实例化一个单行文本框
    		button1 = new JButton("删除");  //实例化一个按钮对象
    		button1.addActionListener(new ActionListener() {  //给按钮添加监视器处理事件
    			
    			@Override
    			public void actionPerformed(ActionEvent e) {
    				try {  //异常处理
    					if(te1.getText().equals(te6.getText())) {   //通过条件判断语句判断输入的信息是否符合要求
    						//获取到文本框中的内容传给Student类
    						Student student = new Student();    
    						student.set(te1.getText(), te4.getText(), Float.parseFloat(te2.getText()), Float.parseFloat(te5.getText()), Float.parseFloat(te3.getText()));
    						dbUtil.delete(student); //调用MyDBUtil类中的modify类
    						area.setText("成绩信息删除成功,你可以通过查询成绩来查看相关信息!!!");  //给多行文本框设值
    						//运行之后设置文本框的值为空
    						te1.setText("");
    						te2.setText("");
    						te3.setText("");
    						te4.setText("");
    						te5.setText("");
    						te6.setText("");
    					}else {
    						area.setText("温馨提示!!"+"\r\n"+"由于两处学号信息不一致,无法进行删除.."+"\r\n"+"请重新输入你想删除的信息!!"); //给多行文本框设值
    						//运行之后设置文本框的值为空
    						te1.setText("");
    						te2.setText("");
    						te3.setText("");
    						te4.setText("");
    						te5.setText("");
    						te6.setText("");
    					}
    				}catch (NumberFormatException e1) {
    					// TODO Auto-generated catch block
    					area.setText("温馨提示!!"+"\r\n"+"输入的成绩不符合要求,删除失败,请重新进行操作!!!");  //删除失败后设置area中的信息提示
    					//运行之后设置文本框的值为空
    					te1.setText("");
    					te2.setText("");
    					te3.setText("");
    					te4.setText("");
    					te5.setText("");
    					te6.setText("");
    				}
    			}
    		});
    		p3 = new JPanel();   //实例化面板对象
    		p3.add(new JLabel("输入学号: "));   //向p3面板中添加标签
    		p3.add(te6);  //向p3面板中添加t6文本框
    		p3.add(button1);  //向p3面板添加按钮
    		
    		area = new JTextArea("请按标签信息输入你想删除的信息!!",5,30); //实例化多行文本框
    		p4 = new JPanel();  //实例化面板
    		p4.add(area); //向面板中添加area
    		
    		panel5 = new JPanel();  //实例化面板对象
    		panel5.setLayout(new BorderLayout());  //设置panel5面板的布局为BorderLayout布局
    		panel5.add(p1,BorderLayout.WEST);  //向panel5面板中添加p1面板并放在panel5的西面
    		panel5.add(p2);  //向panel5面板中添加p2面板
    		panel5.add(p3,BorderLayout.SOUTH);  //向panel5面板中添加p3面板并放在panel5的南面。
    		panel5.add(p4,BorderLayout.NORTH);  //向panel5面板中添加p4面板并放在panel5的北面。
    	}
    }
    
    // 数据库操作实现
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
    
    public class MyDBUtil {
    
    	    //先单独写一个方法,获取连接
    		public Connection getCon() {
    			Connection con=null;  //定义一个连接数据库的变量
    			
    			try {
    				//在java文件中加载驱动类
    				Class.forName("com.mysql.cj.jdbc.Driver");
    				//连接数据库
    				con=DriverManager.getConnection("jdbc:mysql://localhost:3306/mydb?user=root&password=root&useSSL=true&serverTimezone=GMT%2B8");
    			} catch (ClassNotFoundException e) {
    				// TODO Auto-generated catch block
    				e.printStackTrace();
    			} catch (SQLException e) {
    				// TODO Auto-generated catch block
    				e.printStackTrace();
    			}
    			return con;  //返回连接
    		}
    		
    		//查询所有记录
    		public ResultSet checkAll() {
    			Connection con = getCon(); //获取上面的连接
    			Statement statement=null;
    			ResultSet rs=null;
    			try {
    				if (con!=null) {
    					//建立查询语句
    					statement = con.createStatement();
    					//使用查询语句获取结果
    					rs=statement.executeQuery("select * from student");
    				}
    			} catch (SQLException e) {
    				// TODO Auto-generated catch block
    				e.printStackTrace();
    			}
    			return rs;
    		}
    
    		//查询所有记录并按某一成绩进行排序(升序或降序)
    		public ResultSet checkAll(String grade,String sort) {
    			Connection con = getCon(); //获取上面的连接
    			Statement statement=null;
    			ResultSet rs=null;
    			try {
    				if (con!=null) {
    					//建立查询语句
    					statement = con.createStatement();
    					//使用查询语句获取结果
    					rs=statement.executeQuery("select * from student order by "+grade+" "+sort+"");
    				}
    			} catch (SQLException e) {
    				// TODO Auto-generated catch block
    				e.printStackTrace();
    			}
    			
    			return rs;
    		}
    	
    		//添加记录
    		public void add(Student stu) {  //单独定义一个方法向数据库中添加数据。
    			Connection con = getCon(); //拿到连接
    			PreparedStatement pst = null; //创建预处理对象
    			try {
    				if (con!=null) {
    					pst=con.prepareStatement("insert into student values(?,?,?,?,?)");  //使用预处理语句提高效率
    					pst.setString(1, stu.getId()); //给第一个问号处设值
    					pst.setString(2,stu.getName()); //给第二个问号处设值
    					pst.setDouble(3, stu.getMath()); //给第三个问号处设值
    					pst.setDouble(4, stu.getPhysics());  //给第四个问号处设值
    					pst.setDouble(5, stu.getEnglish());  //给第五个问号处设值
    					pst.executeUpdate();  //由于使用了预处理语句,执行时就不用传入执行语句。
    				}
    			} catch (SQLException e) {
    				// TODO Auto-generated catch block
    				e.printStackTrace();
    			}finally {  //关闭资源  原则: 先打开的后关闭,后打开的先关闭。 异常最好各处理各的。
    				if (pst!=null) {
    					try {
    						pst.close();
    					} catch (SQLException e) {
    						// TODO Auto-generated catch block
    						e.printStackTrace();
    					}
    				}
    				if (con!=null) {
    					try {
    						con.close();
    					} catch (SQLException e) {
    						// TODO Auto-generated catch block
    						e.printStackTrace();
    					}
    				}
    			}
    		}
    		
    		//删除记录
    		public void delete(Student stu) {
    			Connection con = getCon(); //拿到连接
    			PreparedStatement pst = null; //定义预处理变量
    			try {
    				if (con!=null) {
    					String sql = "delete from student where 学号 = ?"; //设置查询语句
    					pst = con.prepareStatement(sql); //使用预处理语句
    					pst.setString(1, stu.getId());  //给问号设置值
    					pst.execute();  //执行查询语句
    				}
    			} catch (SQLException e) {
    				// TODO Auto-generated catch block
    				e.printStackTrace();
    			}finally {
    				if (pst!=null) {
    					try {
    						pst.close();
    					} catch (SQLException e) {
    						// TODO Auto-generated catch block
    						e.printStackTrace();
    					}
    				}
    				if (con!=null) {
    					try {
    						con.close();
    					} catch (SQLException e) {
    						// TODO Auto-generated catch block
    						e.printStackTrace();
    					}
    				}
    			}
    		}
    		
    		//修改记录
    		public void modify(Student stu) { 		
    			Connection con = getCon();  //拿到连接
    			PreparedStatement pst = null; //预处理语句
    			try {
    				if (con!=null) {
    					String sql = "update student set 姓名=?,数学成绩=?,物理成绩=?,英语成绩=? where 学号=?"; //设置查询语句
    					pst = con.prepareStatement(sql);  //建立查询语句的时候就把sql语句传递进去。
    					pst.setString(1, stu.getName());  //给第一处问号设值
    					pst.setFloat(2, stu.getMath());  //给第二处问号设值
    					pst.setFloat(3, stu.getPhysics());  //给第三处问号设值
    					pst.setFloat(4, stu.getEnglish());  //给第四处问号设值
    					pst.setString(5, stu.getId());  //给第五处问号设值
    					pst.execute();  //执行的时候就不传入sql语句了。
    				}
    			} catch (SQLException e) {
    				// TODO Auto-generated catch block
    				e.printStackTrace();
    			}finally {
    				if(pst!=null) {
    					try {
    						pst.close();
    					} catch (SQLException e) {
    						// TODO Auto-generated catch block
    						e.printStackTrace();
    					}
    				}
    				if(con!=null) {
    					try {
    						con.close();
    					} catch (SQLException e) {
    						// TODO Auto-generated catch block
    						e.printStackTrace();
    					}
    				}
    			}
    		}
    }
    

    本代码完全由个人实现: (仅做参考)

    展开全文
  • 系统针对中小学成绩管理的实际情况,操作简单,功能实用,设置灵活,能充分满足中小学教师与班主任管理成绩的需要。 利用该系统你能进行成绩表管理,包括建表、浏览、追加、修改、删除、查询、排序、统计分析等等...
  • 本程序采用JAVA编写,能够j实现学生成绩的录入、查询以及查看排名的基本功能,程序里面包含了两个交互界面,一个是控制台的交互界面,一个是采用Swing的可视化界面,大家按照需求自行选择即可。压缩包中包含Mysql...
  • 很早以前使用vb.net开发的一个简单的成绩管理系统,可以进行成绩表管理,包括建表、浏览、追加、修改、删除、查询、排序、统计分析等等功能,可以用于基本的vb.net学习
  • 一个大学课程设计,关于 学生成绩管理系统的数据库设计 具体内容有:数据库设计的VSD图,业务流程图,上下文图,顶层数据流图,以及CDM模型,还有建表语句,以及系统开发文档。
  • sql server 学生成绩管理系统

    千次阅读 2020-07-19 02:19:15
    建表 --create table CREATE TABLE major02 ( Mno CHAR(20) NOT NULL, /*专业号*/ Mname CHAR(20), /*专业名称*/ Mhead CHAR(20) /*系主任*/ ) CREATE TABLE class02 ( Mno CHAR(20)NOT NULL, /*专业号...

    建表

    --create table
    
    CREATE TABLE major02
    (
    	Mno CHAR(20) NOT NULL,		/*专业号*/
    	Mname CHAR(20),				/*专业名称*/
    	Mhead CHAR(20)				/*系主任*/
    )
    CREATE TABLE class02
    (
    	Mno CHAR(20)NOT NULL,		/*专业号*/
    	Year CHAR(20) NOT NULL,		/*年级*/
    	Cno CHAR(20) NOT NULL,		/*班级编号*/
    	Chead CHAR(20)				/*班主任*/
    )
    CREATE TABLE Students02
    (
    	Sno CHAR(20) NOT NULL,	/*学生学号*/
    	Sname CHAR(20),			/*学生姓名*/
    	Ssex char(5),			/*学生性别*/
    	Sage INT,				/*学生年龄*/
    	Sscoresum INT,			/*学分总数*/
    	Pname CHAR(20),			/*生源地*/
        Mno CHAR(20), 			/*专业号*/
    	Year char(20),			/*入学年份*/
    	Cno CHAR(20),			/*班级编号*/
        Sphone CHAR(20)         /*学生联系方式*/
    )
    
    CREATE TABLE Teachers02
    (
    	Tno CHAR(20) NOT NULL,	/*教师编号*/
    	Tname CHAR(20),			/*教师姓名*/
    	Tprofess CHAR(20),		/*教师职称*/
    	Tage CHAR(20),			/*教师年龄*/
    	Tsex CHAR(5),			/*教师性别*/
    	Tphone char(20)			/*教师联系方式*/
    )
    CREATE TABLE Courses02
    (
    	Csno CHAR(20) NOT NULL,		/*课程编号*/
    	Csname CHAR(20),			/*课程名称*/
    	Term CHAR(20),				/*学期如大二上大二下*/
    	Timehour INT,				/*学时*/
    	checkMeThod char(20),		/*考察方式*/
    	Cscredit INT				/*学分*/
    )
    CREATE TABLE Reports02
    (
    	Csno CHAR(20) NOT NULL,			/*课程编号*/
    	Sno CHAR(20) NOT NULL,			/*学生学号*/
    	semester CHAR(20) NOT NULL,		/*学年17-18(2)*/
    	Tno CHAR(20),					/*教师编号*/
    	Score INT						/*课程分数*/
    	
    )
    CREATE TABLE CS_Class02
    (
    	Csno CHAR(20) NOT NULL,			/*课程编号*/
        Mno CHAR(20) NOT NULL,			/*专业号*/
    	Year CHAR(20) NOT NULL,			/*年级*/
    	Cno CHAR(20) NOT NULL			/*班级编号*/
    )
    CREATE TABLE CS_Teacher02
    (
    	Csno CHAR(20) NOT NULL,			/*课程编号*/
    	Tno CHAR(20) NOT NULL,			/*教师编号*/
        semester CHAR(20) NOT NULL
    )
    
    

    完整性约束条件

    1.已经执行过的约束再执行会报错
    2.约束名不能取系统保留字 eg check

    --限制条件
    --用户完整性约束
    ALTER TABLE Students02
    ADD CONSTRAINT Ssex_stu CHECK
    (Ssex IN('女','男'))
    
    ALTER TABLE Teachers02
    ADD CONSTRAINT Ssex_tea CHECK
    (Tsex IN('女','男'))
    
    ALTER TABLE Courses02
    ADD CONSTRAINT type_course CHECK
    (checkMeThod IN('考试','考查'))
    
    ALTER TABLE Students02
    ADD CONSTRAINT Stu CHECK
    (Pname IN('北京市','天津市','上海市','重庆市','河北省','山西省','辽宁省','吉林省','黑龙江省','江苏省','浙江省','安徽省','福建省','江西省','山东省','河南省','湖北省','湖南省','广东省','海南省','四川省','贵州省','云南省','陕西省','甘肃省','青海省','台湾省','内蒙古自治区','广西壮族自治区','西藏自治区','宁夏回族自治区','新疆维吾尔自治区','香港特别行政区','澳门特别行政区'))
    
    
    --主键
    ALTER TABLE major02
    ADD CONSTRAINT pk_major PRIMARY KEY(Mno)
    
    ALTER TABLE class02
    ADD CONSTRAINT pk_class PRIMARY KEY(Cno,Year,Mno)
    
    ALTER TABLE Students02
    ADD CONSTRAINT pk_Students PRIMARY KEY(Sno)
    
    ALTER TABLE Teachers02
    ADD CONSTRAINT pk_Teachers PRIMARY KEY(Tno)
    
    ALTER TABLE Reports02
    ADD CONSTRAINT pk_Reports PRIMARY KEY(Csno,Sno,semester)
    ALTER TABLE Courses02
    ADD CONSTRAINT pk_Courses PRIMARY KEY(Csno)
    ALTER TABLE CS_Class02
    ADD CONSTRAINT pk_CS_Class PRIMARY KEY(Csno,Cno,Year,Mno)
    ALTER TABLE CS_Teacher02
    ADD CONSTRAINT pk_CS_Teacher02 PRIMARY KEY(Csno,Tno,semester)
    
    --外码
    ALTER TABLE class02
    ADD CONSTRAINT fk_class FOREIGN KEY(Mno) REFERENCES major02(Mno)
    
    ALTER TABLE Students02
    ADD CONSTRAINT fk_Students1 FOREIGN KEY(Cno,Year,Mno)  REFERENCES class02(Cno,Year,Mno) 
    
    ALTER TABLE Reports02
    ADD CONSTRAINT fk_Reports0 FOREIGN KEY(Sno) REFERENCES Students02(Sno)
    ALTER TABLE Reports02
    ADD CONSTRAINT fk_Reports1 FOREIGN KEY(Csno) REFERENCES Courses02(Csno)
    ALTER TABLE Reports02
    ADD CONSTRAINT fk_Reports2 FOREIGN KEY(Tno) REFERENCES Teachers02(Tno)
    
    --修改外码约束
    ALTER TABLE Reports02
    DROP CONSTRAINT fk_Reports1
    ALTER TABLE Reports02
    DROP CONSTRAINT fk_Reports2
    ALTER TABLE Reports02
    ADD CONSTRAINT fk_Reports FOREIGN KEY(Csno,Tno,semester) REFERENCES CS_Teacher02(Csno,Tno,semester)
    
    --外码
    ALTER TABLE CS_Class02
    ADD CONSTRAINT fk_CS_Class0 FOREIGN KEY(Csno) REFERENCES Courses02(Csno)
    ALTER TABLE CS_Class02
    ADD CONSTRAINT fk_CS_Class2 FOREIGN KEY(Cno,Year,Mno) REFERENCES class02(Cno,Year,Mno) 
    
    ALTER TABLE CS_Teacher02
    ADD CONSTRAINT fk_CS_Teacher0 FOREIGN KEY(Csno) REFERENCES Courses02(Csno)
    ALTER TABLE CS_Teacher02
    ADD CONSTRAINT fk_CS_Teacher1 FOREIGN KEY(Tno) REFERENCES Teachers02(Tno)
    
    --外码
    ALTER TABLE class02
    ADD CONSTRAINT fk_chead FOREIGN KEY(Chead) REFERENCES Teachers02(Tname)
    ALTER TABLE major02
    ADD CONSTRAINT fk_mhead FOREIGN KEY(Mhead) REFERENCES Teachers02(Tname)
    
    
    --唯一性
    ALTER TABLE Teachers02
    ADD CONSTRAINT uni_name UNIQUE(Tname)
    

    插入数据

    --插入数据
    /*Teachers02*/
    INSERT 
    INTO Teachers02
    VALUES('T15','杨丹科','教授',55,'男','145646756757')
    
    /*=======================================================*/
    /*表major02*/
    INSERT
    INTO major02
    VALUES('M01','计算机科学与技术','杨丹科')
    
    /*=====================================================*/
    /*表Students02*/
    INSERT 
    INTO Students02
    VALUES('S17010201','蒋力帆','男',20,87,'浙江省','M01','2017','C02','12354344435')
    
    /*=========================================================*/
    /*Courses*/
    
    INSERT 
    INTO Courses02
    values('Cs06','算法分析','大二下',64,'考试',2)
    
    /*=========================================================*/
    
    INSERT 
    INTO CS_Class02
    VALUES('Cs06','M02','2016','C02')
    
    /*=====================*/
    /*CS_teacher*/
    INSERT 
    INTO CS_Teacher02
    VALUES('Cs01','T01','16-17(2)')
    
    
    

    创建用户表

    --创建用户表
    CREATE TABLE userInfo02
    (ID CHAR(20),
     password CHAR(20),
     role INT
     )
    
     --插入用户 0   1   2                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            
    INSERT 
    INTO userInfo02
    values('admin','000000',0)
    

    视图

    /*建立视图*/
    CREATE VIEW classcs AS--专业选课表
    --	班级编号,专业名,课程名,学期,专业号,入学年份,课程号
    SELECT Cno ,Mname,Csname,major02.Mno,YEAR,CS_Class02.Csno
    FROM Courses02,major02,CS_Class02
    WHERE Major02.Mno=CS_Class02.Mno and Courses02.Csno=CS_Class02.Csno
    
    CREATE VIEW teachercs3 AS--教师信息表
    --      教师姓名,教师编号,性别,年龄,职称,电话,课程名,课程号,学年
    SELECT Tname ,Teachers02.Tno,Tsex,Tage,Tprofess,Tphone,Csname,Courses02.Csno,semester
    FROM Courses02,Teachers02,Reports02
    WHERE Teachers02.Tno=Reports02.Tno and Courses02.Csno = Reports02.Csno
    
    --去重
    CREATE VIEW teachercs4 AS
    SELECT distinct *
    from teachercs3
    

    标题

    OVER(PARTITION BY… ORDER BY…)

    PARTITION 中文是分割的意思,ORDER 是排序的意思,先把一组数据按照制定的字段进行分割成各种组,然后组内按照某个字段排序。
    https://blog.csdn.net/fygkchina/article/details/80521550
    用rank()排序情况
    在这里插入图片描述

    /*score_view_end*/
    CREATE VIEW scoreview_end--学生选课成绩表
    as		--姓名,学号,专业名,课程名,学年,教师名,分数,学分
    SELECT Sname ,Students02.Sno,major02.Mname,Csname,semester,Tname,Score,Cscredit
    FROM Students02,Courses02,Teachers02,Reports02,major02
    WHERE Students02.Sno=Reports02.Sno and  Courses02.Csno=Reports02.Csno and Teachers02.Tno=Reports02.Tno
    and Students02.Mno = major02.Mno
    
    /*calstu根据课程进修排序*/
    CREATE VIEW calstu_AVG		--学生选课成绩按课程号、学年分组,分数降序排序
    as		--学号,	姓名,			课程号,		课程名,		学年,	教师名,分数
    select students02.sno,scoreview_end.sname,csno,scoreview_end.csname,semester,Tname,score,RANK() 
    OVER(partition by csno , semester order by score desc) as rank
    from scoreview_end,students02,courses02
    where students02.sname=scoreview_end.sname and courses02.csname=scoreview_end.csname
    
    /*按照课程查找某门课程平均分*/
    create view AVG_CS
    as
    SELECT avg(score) as avg,csname,semester
    from scoreview_end
    group by csname, semester
    

    存储过程

    /*存储过程*/
    /*插入学生表的存储过程*/
    GO
    CREATE PROCEDURE PRO_INSERT_STUDENTS
    @Sno char(12),
    @Sname char(10),
    @Ssex char(6),
    @Sage INT,
    @Sscoresum INT,
    @Pname CHAR(20),
    @Mno CHAR(20),
    @Year CHAR(20),
    @Cno CHAR(20),
    @Sphone CHAR(20)
    AS BEGIN
    INSERT Students02(Sno,Sname,Ssex,Sage,Sscoresum,Pname,Mno,Year,Cno,Sphone)
    VALUES(@Sno,@Sname,@Ssex,@Sage,@Sscoresum,@Pname,@Mno,@Year,@Cno,@Sphone)
    SELECT *
    FROM Students02
    end
    
    /*插入课程表的存储过程*/
    GO
    CREATE PROCEDURE PRO_INSERT_Courses
    @Csno char(20),
    @Csname char(20),
    @Term char(20),
    @Timehour INT,
    @checkMethod char(20),
    @Cscredit INT
    AS BEGIN
    INSERT Courses02(Csno,Csname,Term,Timehour,checkMethod,Cscredit)
    VALUES(@Csno,@Csname,@Term,@Timehour,@checkMethod,@Cscredit)
    SELECT *
    FROM Courses02
    end
    
    /*更新学分的存储过程*/
    GO 
    CREATE PROCEDURE PRO_UPDATE_CREDIT
    @Csno CHAR(20),
    @Sno CHAR(20),
    @semester CHAR(20),
    @Tno CHAR(20),
    @Score CHAR(20)
    AS BEGIN
         INSERT INTO Reports
         values(@Csno,@Sno,@semester,@Tno,@Score)
         if(@Score >= 60)
         update Students
         set Sscoresum = Sscoresum +
         (
    	select Cscredit
            from Courses
            where Csno = @Csno
          )
          where Students02.Sno = @Sno
    END
    
    /*插入教师信息的存储过程*/
    GO
    CREATE PROCEDURE PRO_INSERT_TEACHERS
    @Tno char(20),
    @Tname char(20),
    @Tprofess char(20),
    @Tage INT,
    @Tsex char(20),
    @Tphone char(20)
    AS
    Begin
    INSERT Teachers(Tno,Tname,Tprofess,Tage,Tsex,Tphone)
    VALUES(@Tno,@Tname,@Tprofess,@Tage,@Tsex,@Tphone)
    END
    

    触发器

    /*教师删除触发器*/
    create trigger tri_Del 
    ON Teachers02
    instead of delete
    as
    begin
       if((select count(*)from Reports02 where 
       Tno in
       (select Tno from deleted))=0)
       begin 
         delete from Teachers02 where Tno in
    	 (select Tno from deleted)
    	end
    end
    
    /*学生班级修改*/
    create trigger tri_updateStu 
    on class02
    for update
    as
    	if update(Cno)
    	begin
    
    	update Students02
    	set Cno = i.Cno
    	from Students02 tmp,deleted d ,Inserted i
    	where tmp.Cno = d.Cno
    	end
    
    展开全文
  • 用MYSQL学生课程与成绩管理系统 模式要求:一个老师可以任教多门课程,一门课程可以由多个老师教导。一个学生可以选修多门课程,一门课程也可以被多个同学选。一i个老师可以教导多个学生,一个学生有多个老师。 画ER...

    用MYSQL学生课程与成绩管理系统

    模式要求:一个老师可以任教多门课程,一门课程可以由多个老师教导。一个学生可以选修多门课程,一门课程也可以被多个同学选。一i个老师可以教导多个学生,一个学生有多个老师。

    画ER图

    在这里插入图片描述

    将ER图转化为关系模式图

    在这里插入图片描述

    建表

    teacher table

    CREATE TABLE teacher (
      teacherId int NOT NULL AUTO_INCREMENT,
      teacherName varchar(20),
      college varchar(20),
      PRIMARY KEY (teacherId)
    ) 
    

    advisor table

    CREATE TABLE advisor (
      teacherId int NOT NULL,
      studentId int NOT NULL,
      PRIMARY KEY (teacherId,studentId),
      KEY studentId studentId),
      FOREIGN KEY (teacherId) REFERENCES teacher (teacherId),
      FOREIGN KEY (studentId) REFERENCES student(studentId)
    ) 
    

    student table

    CREATE TABLE  student  (
       studentId  int NOT NULL AUTO_INCREMENT,
       studentName  varchar(45) ,
       sex  varchar(45) ,
       class  varchar(45),
       major  varchar(45) ,
      PRIMARY KEY ( studentId ),
     
    ) 
    

    take table

    CREATE TABLE  take  (
       courseId  int NOT NULL,
       studentId  int NOT NULL,
        teacherId int NOT NULL,
      PRIMARY KEY ( courseId , studentId ,teacherId),
     FOREIGN KEY ( courseId ) REFERENCES  course  ( courseId ),
     FOREIGN KEY ( studentId ) REFERENCES  student  ( studentId )
    ) 
    

    course table

    CREATE TABLE  course  (
       courseId  int NOT NULL AUTO_INCREMENT,
       courseName  varchar(20) ,
       courseScore  int DEFAULT NULL,
       teacherId  int NOT NULL,
      PRIMARY KEY ( courseId , teacherId ),
      FOREIGN KEY ( teacherId ) REFERENCES  teacher  ( teacherId )
    ) 
    

    student table

    CREATE TABLE  student  (
       studentId  int NOT NULL AUTO_INCREMENT,
       studentName  varchar(45) ,
       sex  varchar(45),
       class  varchar(45) L,
       major  varchar(45) ,
      PRIMARY KEY ( studentId ),
    ) 
    

    score table

    CREATE TABLE  score  (
       courseId  int NOT NULL,
       studentId  int NOT NULL,
       score  int DEFAULT NULL,
      PRIMARY KEY ( courseId , studentId ),
      FOREIGN KEY ( courseId ) REFERENCES  course  ( courseId ),
    FOREIGN KEY ( studentId ) REFERENCES  student  ( studentId )
    ) 
    

    teach table

    CREATE TABLE  course  (
       courseId  int NOT NULL AUTO_INCREMENT,
       teacherId  int NOT NULL,
       courseName  varchar(20) ,
       courseScore  int DEFAULT ,
      PRIMARY KEY ( courseId , teacherId ),
        FOREIGN KEY ( teacherId ) REFERENCES  teacher  ( teacherId )
    )
    

    注意:如果要删除表中数据要先 SET SQL_SAFE_UPDATES = 0

    插入数据

    teacher table
    在这里插入图片描述
    student table
    在这里插入图片描述
    advisor table
    在这里插入图片描述

    teach table在这里插入图片描述
    take table
    在这里插入图片描述
    score table
    加粗样式

    创建视图

    显示学生全部信息

    drop view  if exists studentInFo;
    create view studentInfo as
    select studentId,studentName,sex,class,major,courseId,courseName
    from student natural join course;
    

    在这里插入图片描述
    显示老师全部信息

    drop view  if exists teacherInFo;
    create view teacherInfo as
    select teacherId,teacherName,college,studentId,studentName,courseId,courseName
    from student natural join course natural join teacher;
    

    在这里插入图片描述

    函数

    选数据库这门课程得分最高的学生

    drop function if exists MaxScoreOfDataBase;
    DELIMITER //
    create function MaxScoreOfDataBase(CourseId integer)
    returns integer
    DETERMINISTIC
    begin
    declare MaxScore integer;
    	select max(score) into MaxScore
    	from student natural join take natural join score
    	where courseId = CourseId;
    return Maxscore;
    END//
    DELIMITER ;
    

    在这里插入图片描述

    过程

    选数据库这门课程得分最低的学生

    drop procedure if exists MinScoreOfDataBase;
    DELIMITER //
    create definer = current_user procedure MinScoreOfDataBase(
    	IN CourseId INT, 
    	OUT MinScore INT
    )
    DETERMINISTIC
    begin
    	select min(score) into MinScore
    	from student natural join take natural join score
    	where courseId = CourseId;
    END//
    DELIMITER ;
    

    在这里插入图片描述

    展开全文
  • 本例中没有数据库脚本,需对本地计算机进行数据源配置,还有sql2000建表,另外如果采用别的数据库,可采用桥连接来做,只需改动jdbcfile文件即可
  • 欢迎使用学生信息管理系统(管理员端) 本系统支持添加,删除,修改等实用功能 方便您更好的管理学生数据 【I】管理员端 一,选择数据库 通过右上角的数据库菜单栏可以选择当前操 作的数据库 二,添加教师,学生,...
  • 1-2 学生管理系统

    2021-05-30 17:52:25
    使用顺序表编写程序设计一个学生信息管理系统,实现对某个班级学生信息的录入建表、查询、删除、插入。基本要求为: (1) 建立一个班的学生信息表,每个学生的信息由学号、姓名、高数成绩、计算机成绩、数学成绩、...
  • 基于MySQL与file的小型后台学生信息管理系统,将建库建表直接封装在一个CreateMySql.py模块中 print("| 1) 添加学生信息 |") print("| 2) 显示所有学生的信息 |") print("| 3) 删除学生信息 |") print("| 4) 修改...
  • 基于JDBC的学生信息管理系统的实现功能说明数据库系统实现0.建表过程1.新生入学信息添加,学生信息修改2.课程信息维护(增加新课程,修改课程信息,删除没有选课的课程信息)3.录入学生成绩,修改学生成绩4. 按系统...
  • 【SSM-学生信息管理系统】 实体层开发 本篇文章介绍了学生信息管理系统中实体层的开发。 一、页面需求分析 1.主页显示学生基本信息 学号 姓名 性别 班级 手机号码 2. 点击学号,或按学号搜索,将进入...
  • 目录功能介绍E-R图SQL建表登陆界面忘记密码界面注册界面教师管理员界面学生信息管理界面学生成绩管理界面课程界面登录日志学生界面学生信息查询界面学生选课界面我的选课学生成绩查询界面 功能介绍 学生端: 学生端...
  • 数据库gradesystem分别有三张表分别用来记录学生信息(student)、课程信息(course)、成绩信息(mark)。 student包含3列:sid(主键)、sname、gender; course包含2列:cid(主键)、cname; mark包含4列:mid...
  • 分为三类用户角色学生用户:修改个人信息、课程...管理员用户:学生管理、教师管理、课程管理、选课管理、成绩管理、院系设置、奖惩信息管理、管理员操作 用的java+MySQL数据库,cs架构。附带设计报告,建表合理规范。

空空如也

空空如也

1 2 3
收藏数 50
精华内容 20
关键字:

学生成绩管理系统建表