Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >java+SQL做学生信息管理系统(增删改查)学生新作「建议收藏」

java+SQL做学生信息管理系统(增删改查)学生新作「建议收藏」

作者头像
全栈程序员站长
发布于 2022-09-27 02:52:40
发布于 2022-09-27 02:52:40
86610
代码可运行
举报
运行总次数:0
代码可运行

大家好,又见面了,我是你们的朋友全栈君。

java+SQL做学生信息管理系统(增删改查)

[过程中需要用到的所有工具数据库以及数据库管理器等等] https://pan.baidu.com/s/1j5cNKwslk8bCXSLoeCEgPQ 提取码:1234

大学学习java后做的第一个小项目忍不住分享一下,也是我自己的面向对象编程的实践作业啦,有点水,不是很优。废话不多数,下面进入正题

界面的编写是非常简单的,直接贴代码了,首先看添加功能

Add.java

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
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 Add extends JFrame implements ActionListener{ 
   
	private static final Statement PraparedStatement = null;
 	Connection con;
 	
	JLabel id = new JLabel("Id");
	JLabel name = new JLabel("Name");
	JLabel sex = new JLabel("sex");
	JLabel tel = new JLabel("Tel");
	JLabel grade = new JLabel("Grade");
	JLabel address = new JLabel("Address");
	JLabel birthday = new JLabel("Birthday");
	
	JTextField id1 = new JTextField(10);
	JTextField name1 = new JTextField(10);
	JTextField sex1 = new JTextField(10);
	JTextField tel1 = new JTextField(10);
	JTextField grade1 = new JTextField(10);
	JTextField address1 = new JTextField(10);
	JTextField birthday1 = new JTextField(8);
	
	JButton yes = new JButton("确认");
	JButton no  = new JButton("取消");	
	
		public Add() { 
   
			setTitle("添加学生信息");
			setLayout(null);
			
			id.setBounds(100,90,100,50);
			id1.setBounds(300,100,200,30);
			name.setBounds(100,140,100,50);
			name1.setBounds(300,150,200,30);
			sex.setBounds(100,190,100,50);
			sex1.setBounds(300,200,200,30);
			tel.setBounds(100,240,100,50);
			tel1.setBounds(300,250,200,30);
			grade.setBounds(100, 290, 100, 50);
			grade1.setBounds(300, 300, 200, 30);
			address.setBounds(100, 340, 100, 50);
			address1.setBounds(300,350,200,30);
			birthday.setBounds(100, 390, 100, 50);
			birthday1.setBounds(300, 400, 200, 30);
			
			yes.setBounds(100,450, 100, 60);
			no.setBounds(400, 450, 100,60);
			
			add(id);
			add(id1);
			add(name);
			add(name1);
			add(sex);
			add(sex1);
			add(tel);
			add(tel1);
			add(grade);
			add(grade1);
			add(address);
			add(address1);
			add(birthday);
			add(birthday1);
			
			add(yes);
			add(no);
			
			yes.addActionListener(this);
			no.addActionListener(this);
			
			setVisible(true);
			setBounds(600,300,600,600);
			setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE); 
		}
		public static void main(String args[]){ 
   
		new Add();
		}
		}

这就是执行以后的界面 下面就是按钮功能的实现,同时包含了数据库的操作

将下面的代码直接加在上面的代码的主函数上面就可以,这是上面的按钮的监听器方法

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
		public void actionPerformed(ActionEvent e) { 
   
					 
		 if(e.getSource()==yes) { 
   								//如果你点击的是确认按钮
			 String s1=id1.getText();   					//获取文本框中的信息
	    	 String s2=name1.getText(); 
	    	 String s3=sex1.getText();
	    	 String s4=tel1.getText();
	    	 String s5=grade1.getText();
	    	 String s6=address1.getText();
	    	 String s7=birthday1.getText();	 
	    	 
	    	 int  num  = Integer.parseInt(s7);					//将获得的日期转换为整数类型
	    	
	    	 //加载数据库驱动
		  	 try { 
   					
		    		  Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDrive");
		    	  }
		    	  catch(Exception e1) { 
   
		    		  
		    	  }	    	
		    	 //连接数据库
		    		  String uri ="jdbc:sqlserver://172.16.8.54:1433;DatebaseName=Stu";			//ip改为自己的ip,“Stu”数据库中自己新建的数据库名
		    		  String user = "sa";															//sa为自己的数据库用户名
		    		  String password = "962464";											//自己的数据库密码
		    		 
					try { 
   
						con = DriverManager.getConnection(uri,user,password);
					} catch (SQLException e2) { 
   
						// TODO Auto-generated catch block
						e2.printStackTrace();
					}
		  
		    	 
		    	  JOptionPane.showMessageDialog(null, "数据库连接成功", "连接数据库",
		    			   JOptionPane.INFORMATION_MESSAGE);
		    	  			
			try { 
   
				if(init()==true) { 
   							//假如添加的id数据库中已经存在,则不添加
						JOptionPane.showMessageDialog(null, "数据库中此 Id 已存在,不可添加", "提示",
						JOptionPane.INFORMATION_MESSAGE);
						dispose();
					}
				else if(init()==false){ 
   					//如果没有,则执行添加
						String sql="insert into Students(Id,Name,Sex,Tel,Grade,Address,Birth)"+"values('"+s1+"','"+s2+"','"+s3+"','"+s4+"','"+s5+"','"+s6+"','"+num+"')";											//创建sql语句
						
						 Statement statement = null;
			
					try { 
   
						statement = con.createStatement();
					} catch (SQLException e2) { 
   
						e2.printStackTrace();
					}
						try { 
   
								int result = statement.executeUpdate(sql);				//执行sql语句
							} catch (SQLException e1) { 
   
								e1.printStackTrace();
							}
					    	 
							JOptionPane.showMessageDialog(null, "添加学生信息成功", "完成",
									   JOptionPane.INFORMATION_MESSAGE);
						dispose();
												
					}
			} catch (HeadlessException | SQLException e2) { 
   
				// TODO Auto-generated catch block
				e2.printStackTrace();
			}
			
			}
		 else if(e.getSource()==no) { 
   
				dispose();
		 }
			}

//判断添加的Id在数据库中是否存在的方法
		public boolean init() throws SQLException { 
   
			
			String sql1="select Id FROM Students where Id='"+s1+"'";	
			
			PreparedStatement pstm = con.prepareStatement(sql1);// 执行查询
			
			ResultSet rs = pstm.executeQuery();			
			
			boolean result = false;
			
			while(rs.next()) { 
   
				
				result = true;				
			}			
			rs = pstm.executeQuery();
			return result;
		}
	}

添加功能就完成了,大功告成

删除功能,界面百年不变,所以我就只写按钮监听器里面的方法了,直接写个界面加到里面就可以了。

删除功能是按照id删除,需要输入要删除的id 下面是执行删除功能的核心代码,数据库连接等代码都是恒定不变的,就不贴了,学编程绝对不能一味的Ctrl+c;Ctrl+v;一定要自己的思考,亲手敲一遍

Delete.java

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
String sql="delete Students where Id ='"+s1+"'";
	    	  
	    	  Statement statement = null;
				
	    	  try { 
   
					statement = con.createStatement();
				} catch (SQLException e2) { 
   
					// TODO Auto-generated catch block
					e2.printStackTrace();
				}
		    try { 
   
			     
				 int resultset = statement.executeUpdate(sql);
			} catch (SQLException e1) { 
   
				// TODO Auto-generated catch block
				e1.printStackTrace();
			}	    	  	    	   
		    
		    JOptionPane.showMessageDialog(null, "删除学生信息成功", "完成",
	    			   JOptionPane.INFORMATION_MESSAGE);
	    	  
					}	    
	    	  }catch (HeadlessException | SQLException e2) { 
   
					// TODO Auto-generated catch block
					e2.printStackTrace();
				}

更新功能

更新功能的实现,我用到了sql中if语句的拼接,从而实现,更新指定标签的内容

Update.java

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
String sql = "update Students set Id = '"+s1+"'";   	    	 
            String sql1="where Id='"+s1+"'";
            
            
            
    		if(s2!= null&&!s2.equals("")) sql+=",Name ='"+s2+"'";
    				
    		if(s3!= null&&!s3.equals("")) sql +=",Sex ='"+s3+"'";	
    		
    		if(s4!= null&&!s4.equals("")) sql +=",Tel ='"+s4+"'"; 
    					 
    		if(s5!= null&&!s5.equals("")) sql += ",Grade ='"+s5+"'";
    						
    		if(s6!= null&&!s6.equals("")) sql +=",Address ='"+s6+"'";
    			 
    		if(s7!= null&&!s7.equals("")) sql +=",Birth ='"+s7+"'";
    		
       		String sql3= sql+sql1;
    		Statement statement=null;
    		try { 
   
				statement = con.createStatement();
			} catch (SQLException e2) { 
   
				e2.printStackTrace();
			}
    		try { 
   
				int result = statement.executeUpdate(sql3);
			} catch (SQLException e1) { 
   				
				e1.printStackTrace();
			}
    		
    		JOptionPane.showMessageDialog(null, "更新学生信息成功", "完成",
    				   JOptionPane.INFORMATION_MESSAGE);

查询功能

Select.java

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
String sql="select Id,Name,Sex,Tel,Grade,Address,Birth from Stu.Students where ID ='"+Select.id1.getText()+"'";		    	
PreparedStatement pstm = con.prepareStatement(sql);// 执行查询
ResultSet rs = pstm.executeQuery();
// 计算有多少条记录
int count = 0;
while(rs.next()){ 
   
count++;
}
rs=pstm.executeQuery();

查询还涉及到最后是用文本区显示还是使用表格显示,这个就需要自己设计了

一定要注意,代码中凡是涉及数据库名,和数据表名字的一定要改成自己的

好了,就分享到这里,欢迎留言,大家探讨。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/188675.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
1 条评论
热度
最新
您好您发的链接过期了请问可以麻烦您重新发一下吗?
您好您发的链接过期了请问可以麻烦您重新发一下吗?
回复回复点赞举报
推荐阅读
编辑精选文章
换一批
1小时学会通过Java Swing Design设计java图形化
一般大一结束的时候需要做一个类似一下内容的javaswing项目,故而咱们的学习目标如下:
红目香薰
2022/11/30
1.4K0
1小时学会通过Java Swing Design设计java图形化
学生信息管理系统 | Java程序设计
市场需求:主要解决一个管理学生信息的问题,学生学号,班级,成绩之类的问题,旨在为各大高校提供一个开源、自由、免费的简单管理软件。这个问题要求我们提供一个管理学生信息安全的平台,避免学生信息的缺漏。人性化的图形管理界面,加上优美的背景音乐和可爱的开场动画,让管理者可以更加愉悦得对学生信息进行管理。
Jean
2021/09/16
1.3K0
学生信息管理系统 | Java程序设计
[Java] [原创]小学生数学练习题目自动生成系统
前几天在装固态硬盘(SSD)分区的时候误把机械硬盘(HDD)分区删除,导致原创的很多程序代码和很多收藏的实用软件等等几百G的文件丢失(心痛啊)。现在决定把自己最近写的代码分享出来,不然下次不小心又弄没
雨落凋殇
2019/12/25
2.1K0
[Java] [原创]小学生数学练习题目自动生成系统
Java课程设计——学生成绩管理系统
在现今信息时代,生活速度的加快,使得人们越来越向信息化、数字化发展。随着学校的规模不断扩大,学生数量急剧增加,有关学生的各种信息量也成倍增长,尤其是学生的考试成绩数据。面对庞大的学生的成绩,需要有学生成绩管理系统来提高学生管理工作的效率。介于此提出了学生成绩管理系统,学生管理系统是计算机对学生档案信息进行管理,具有手工管理无可比拟的优点,如索检迅速、查找方便、可靠性高、存储量大等有点。现在我国的大中专院校的学生成绩管理水平正在不断提高,停留在纸介质基础上的管理手段早已被时代淘汰,因为它浪费了许多的人力和物力。本系统使用 Swing + MySQL + IntelliJ IDEA 开发。为管理人员提供充足的信息和快捷的查询手段,提高学校学籍管理的效率。
全栈程序员站长
2022/09/09
4.2K1
第一个Java项目———Java实现简单图书管理系统(GUI)
暑假写了个图书管理系统,编译器用的是eclipse,加入了WindowBuilder插件做界面(做的特丑),数据库用的是MySQL。
全栈程序员站长
2022/09/14
2.7K0
第一个Java项目———Java实现简单图书管理系统(GUI)
基于Java swing+mysql+eclipse的【图书管理系统】
①基本数据维护: 图书类别管理 >> 图书类别添加、图书类别维护 图书管理 >> 图书添加、图书维护 ②关于我们
全栈程序员站长
2022/09/06
3.1K0
基于Java swing+mysql+eclipse的【图书管理系统】
数据库课程设计-宿舍管理系统「建议收藏」
最近写完了数据库的课程设计,想把整个源码的编辑过程发出来。程序很简单,需要有很多完善的地方,在这里,我想和大家分享写这个程序的心路历程。
全栈程序员站长
2022/08/31
2.1K0
java swing 实现数据库的增删查改
最近一个实习生问我,swing好难啊,就是jtable的增删查改都做不出来了,我也好久没有做了,各种文档,各种查找,各种百度终于是完成了一个小的项目,也就是所说的增删除查改。不废话了,上代码。
软件小生活
2021/08/16
2.8K0
java swing 实现数据库的增删查改
Java GUI 图书管理系统设计与开发
源码下载:关注微信公众号【C you again】,回复“Java GUI图书管理系统”下载源码。
C you again
2021/06/09
1.6K0
Java GUI 图书管理系统设计与开发
java超市仓库管理系统(超市条形码管理系统)
1、商品管理页面布局,添加一个JScrollPanel(内嵌JTable),用来显示所有商品的信息;添加两个JLabel用于显示查询提示信息;添加JTextField用于输入商品商品名称;添加2个JButton,分别用来实现商品查询及添加商品,效果图如图1所示。
全栈程序员站长
2022/07/25
3.7K0
java超市仓库管理系统(超市条形码管理系统)
Java课设:学生管理系统
查询学生的个人基本信息,查询课程表、选课情况,查询课程的成绩信息。其中课程表及选课信息和成绩信息无法改动,个人基本信息可以添加或者删除。 这是一个比较简单的管理系统,具备简单的添删查功能,适合学习用。 首先设计好数据库,软件为Microsoft SQL server
全栈程序员站长
2022/09/14
1.4K0
数据库系统课程设计 --- 人事管理系统(超详细)
🔥 在看该文章之前,我希望大家能够从头慢慢看下去,而不是直接去复制代码,该 课程设计其实可以学到一些东西的,说不定以后也许能够用上来的
IsLand1314
2024/11/26
3730
数据库系统课程设计 --- 人事管理系统(超详细)
Java课程设计_java课设「建议收藏」
建立GUI界面,系统产生一个随机数(对用户不可见),然后用户输入猜测数,系统根据用户每次输入的数据给出评语(偏大,偏小,猜测成功)。当用户最终猜测成功后,就把当次的随机数和猜测次数放到文件夹内。
全栈程序员站长
2022/09/14
5550
Java课程设计-学籍信息管理系统「建议收藏」
学生的学籍信息是记录学生的重要信息档案,如何以电子文档形式记录下学生的学籍信息是每个学校必须做的事情,该学生学籍信息管理系统就是为了方便学校记录下每一个学生的基本信息,生成电子数据库,并且能够做到查询、更改、删除、浏览等功能操作,让学籍信息的管理更加方便快捷。
全栈程序员站长
2022/07/22
2.7K0
Java课程设计-学籍信息管理系统「建议收藏」
用户管理系统+源码+效果图
目录 核心功能 1、帮助类DBHelper 2、实体类entity 3、功能类dao 4、测试类 以上就是这个小案例的代码,下面是它的运行效果图  在这里面可以进行基本的增删改查以及其他的查询方式,需连接数据库一起使用 ---- 核心功能 添加用户信息 删除某一个用户信息 删除选中的用户信息 分页查询所有用户信息 模糊查询用户信息 更新用户信息 1、帮助类DBHelper package com.zking.util; import java.sql.Connection; import java.
天蝎座的程序媛
2022/11/18
1.6K0
用户管理系统+源码+效果图
Java-单机版的书店管理系统(练习设计模块和思想_系列 七 )
Java-单机版的书店管理系统(练习设计模块和思想_系列 六 ) http://blog.csdn.net/qq_26525215/article/details/51169277
谙忆
2021/01/21
8020
Java-单机版的书店管理系统(练习设计模块和思想_系列 七 )
Java课程设计源码——学生信息管理系统 SQL「建议收藏」
2022.6.9 更新 这个课程作业的代码有小伙伴反馈有问题(数据库无法连接等),但博主最近学业不用Java了,暂时没时间看,如果有同学有解决方案,可以在下面评论帮助一下其他同学。实在抱歉啦。
全栈程序员站长
2022/11/04
1.8K1
「旅游信息管理系统」 · Java Swing + MySQL 开发「建议收藏」
码云仓库地址:https://gitee.com/ynavc/tourism_sys
全栈程序员站长
2022/08/11
2.9K0
「旅游信息管理系统」 · Java Swing + MySQL 开发「建议收藏」
【3】JAVA---地址App小软件(AddPanel.class)(表现层)
添加地址信息界面。 年龄和地址必须是数字,否则会弹出窗口提示。 地址信息不能为空。 /* * AddPanel.java * * Created on __DATE__, __TIM
谙忆
2021/01/21
6260
【3】JAVA---地址App小软件(AddPanel.class)(表现层)
基于mysql的简单图书管理系统_图书管理系统
因为这两天要做数据库课设但是本人又很菜就做了一个简单的系统,简单的实现了增删改查,数据库用的是mysql,但是数据库的权限功能都没有实现,就是程序比较简陋,新手程序员可以参考一下~
全栈程序员站长
2022/11/04
2.9K1
基于mysql的简单图书管理系统_图书管理系统
推荐阅读
相关推荐
1小时学会通过Java Swing Design设计java图形化
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档