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

[过程中需要用到的所有工具数据库以及数据库管理器等等]
https://pan.baidu.com/s/1cLKJPKXauLCl-Vwah6wFIQ
提取码:he5x
在这里插入图片描述
大学学习java后做的第一个小项目忍不住分享一下,也是我自己的面向对象编程的实践作业啦,有点水,不是很优。废话不多数,下面进入正题

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

Add.java

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();}}1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86

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

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

 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 blocke2.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 blocke2.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;}
}1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93

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

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

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

Delete.java

String sql=“delete Students where Id =’”+s1+"’";

       Statement statement = null;try {statement = con.createStatement();} catch (SQLException e2) {// TODO Auto-generated catch blocke2.printStackTrace();}try {int resultset = statement.executeUpdate(sql);} catch (SQLException e1) {// TODO Auto-generated catch blocke1.printStackTrace();}                        JOptionPane.showMessageDialog(null, "删除学生信息成功", "完成",JOptionPane.INFORMATION_MESSAGE);}      }catch (HeadlessException | SQLException e2) {// TODO Auto-generated catch blocke2.printStackTrace();}1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26

更新功能

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

Update.java

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);1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32

查询功能

Select.java

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();

1
2
3
4
5
6
7
8
9

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

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

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

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

  1. python学生信息管理系统-增删改查-根据姓名查询

    学生信息管理系统 增删改查,求平均年龄,退出系统,根据姓名查询 def show_menu():print('*******欢迎使用学生管理系统*************')print('****** ...

  2. Java语言写一个简单的学生信息管理系统,通过JDBC连接数据库对学生信息进行增删改查,采用三层思想和DBUtils第三方框架。

    我把源代码和sql文件放GitHub上了,你们可以自行下载:https://github.com/fenglily1/student. 有问题可以留言或私信,我看到就会回. 进阶版加上页面的管理系统在 ...

  3. java 学生信息的增删改查_学生信息的增删改查(java)

    学生信息的增删改查 注意:此处用到的是access数据库. 运行后效果如图: 代码如下: package example; import java.awt.*; import java.awt.eve ...

  4. 学生信息管理系统(连接数据库,面向对象的方法实现学生信息的增删改查操作)...

    ---------------------------------------------------------------------------------------------------- ...

  5. 孙连伟 java_java(jsp)简单实现数据库学生信息的增删改查案例

    1:创建学生类,创建主函数进行测试java package cn.edu.hpu.stu; import java.util.Scanner; import cn.edu.hpu.jdbclink.* ...

  6. Java-GUI编程实战之管理系统 Day3【学生管理系统GUI设计、学生管理系统增删改查、项目MVC结构介绍、Java技能图谱】

    视频.课件.源码[链接:https://pan.baidu.com/s/13ffqGDzH-DZib6-MFViW3Q 提取码:zjxs] Java-GUI编程实战之管理系统 Day1[项目开发流程. ...

  7. Java课程设计——学生信息管理系统

    一.项目简介 二.项目构架图 三.团队成员任务简介 四.代码 五.项目运行图片 一.项目简介: 实现一个功能简单的学生信息管理系统,该系统具有按照账户名密码登录功能,登录后,可以添加,删除,修改.查询 ...

  8. 复习JavaWeb的小项目书籍信息的增删改查分页功能实现Java面试题Session和Cookie的基础概念生活【记录一个咸鱼大学生三个月的奋进生活】034

    记录一个咸鱼大学生三个月的奋进生活034 JavaWeb的增删改查分页功能实现 前期准备工作(数据库连接类和实体类) 数据库建立 数据库连接类(DBManager) 书籍信息的实体类(Book) 操作 ...

  9. Java Swing Mysql学生信息管理系统

    通过对Swing的理解 此篇为大家推荐基于JAVA Swing Mysql学生信息管理系统 本视频教程一共分为四个阶段,每个阶段都会是上一个阶段的扩展,每一个阶段的系统都可独立作为一个完整的系统 第一 ...

最新文章

  1. Kubernetes基于Metrics Server的HPA
  2. 除了工作怎么交朋友_《隐秘的角落》该如何看待孩子在学校交朋友?
  3. 无法接收 agent 发出的检测信号_BR-PST系列基桩非金属超声波检测仪的系统延时来源及测试校正方法...
  4. (C#) 调用执行批处理文件
  5. 顺序表链表 LeetCode专项练习 [19]\[24]
  6. Tsinsen A1493 城市规划(DP + CDQ分治 + NTT)
  7. mysql dql_Mysql中的DQL查询语句
  8. 【LeetCode笔记】48. 旋转图像(Java、矩阵、偏数学、原地算法)
  9. css 文字重叠_html网页文字重叠 字体叠加显示css如何解决
  10. 机器学习实战3-sklearn使用下载MNIST数据集进行分类项目
  11. 分布式事务实践 解决数据一致性 分布式系统
  12. 1599元!荣耀Play6T Pro今日首销:史上最薄5G手机!
  13. 理解sklearn.feature.text中的CountVectorizer和TfidfVectorizer
  14. focal loss dice loss源码_扒源码:sharding loss in Pytorch
  15. 关于继承的理解,自带有白话文,更适合编程小白新手,简单易理解
  16. Shell脚本检测文件夹是否已被挂载的方法
  17. 软件压力测试的手段有注入错误吗,JMeter压力测试之环境搭建、脚本调试及报错解决方法(Linux版)...
  18. matlab设置脚本,MATLAB脚本和功能
  19. 在华为工作十年的感悟
  20. 计算天数c语言实验报告,c语言实例--计算天数

热门文章

  1. 7.为Xamarin.Forms的图片控件添加手势
  2. 将整篇caj转换成Word的图文教程
  3. TCP多人聊天室实现 JSON文件解析
  4. FFMpeg杂音问题解决方案
  5. 关于安装office,出现你已安装32位,无法安装64位问题的解决方法
  6. Linphone分析 1_初始化
  7. Android4.1.1,USB存储模式
  8. 【win8优化大师:怎么调整被挤走的图标】
  9. C4D如何在多个文件中切换和关闭文件?
  10. HTML5的IndexedDB数据库