java+sqlserver实现学生信息管理系统
更新时间:2021年12月15日 14:31 点击:286 作者:雪人见花
前提:
1.建立了与sqlserver
数据库的连接
(JTDS连接sqlserver
数据库的包jtds-1.2.7.jar)
2. 了解JDBC执行SQL的语法
一.实现效果
二.实现代码
1.DBUtil.java
说明:直接复制必然出错。
因为要连接自己的数据库,其中部分数据说明:
Connection conn = getSQLConnection("192.168.223.1", "admin", "123123", "物流寄存"); //本机V8 ip 192.168.223.1 //在数据库中建立的一个登录名 admin //登录名admin 的密码 123123 //要连接的数据库 物流寄存 (因为是临时作业就先随便找个数据库放了)
DBUtil.java
import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.text.SimpleDateFormat; import java.util.Date; public class DBUtil { //连接数据库 private static Connection getSQLConnection(String ip, String user, String pwd, String db) { Connection con = null; try { Class.forName("net.sourceforge.jtds.jdbc.Driver"); //con = DriverManager.getConnection("jdbc:jtds:sqlserver://" + ip + ":1433/" + db + ";charset=utf8", user, pwd); //jdbc:jtds:sqlserver://localhost:1433/dbname //解决输出中文乱码 con = DriverManager.getConnection("jdbc:jtds:sqlserver://" + ip + ":1433/" + db , user, pwd); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } return con; } //查询 public static String QuerySQL() { String result = ""; try { //10.0.2.2 android ip //本机V8 ip 192.168.223.1 Connection conn = getSQLConnection("192.168.223.1", "admin", "123123", "物流寄存"); String sql = "select * from 学生信息表"; Statement stmt = conn.createStatement(); ResultSet rs = stmt.executeQuery(sql); //System.out.println(rs); while (rs.next()) {//学号、姓名、班级、性别、专业、学院 String s1 = rs.getString("学号").trim(); String s2 = rs.getString("姓名").trim(); String s3 = rs.getString("班级").trim(); String s4 = rs.getString("性别").trim(); String s5 = rs.getString("专业").trim(); String s6 = rs.getString("学院").trim(); result += s1 + " " + s2 + " " + s3 + " " + s4+ " " + s5+" "+s6+"\n"; // System.out.println(s1 + " - " + s2); } rs.close(); stmt.close(); conn.close(); } catch (SQLException e) { e.printStackTrace(); result += "查询数据异常!" + e.getMessage(); } return result; } //插入学生信息 public static String insert_student(String sno,String name,String banji,String sex,String shuanye,String xueyuan) {//学号、姓名、班级、性别、专业、学院 String result = ""; try { //10.0.2.2 android ip //本机V8 ip 192.168.223.1 Connection conn = getSQLConnection("192.168.223.1", "admin", "123123", "物流寄存"); String sql = "insert into 学生信息表 values ('"+sno+"','"+name+"','"+banji+"','"+sex+"','"+shuanye+"','"+xueyuan+"');"; Statement stmt = conn.createStatement(); stmt.executeUpdate(sql); stmt.close(); conn.close(); result+="插入成功"; } catch (SQLException e) { e.printStackTrace(); result += "查询数据异常!" + e.getMessage(); } return result; } //删除学生信息 public static String delete_student(String sno) {//学号、姓名、班级、性别、专业、学院 String result = ""; try { //10.0.2.2 android ip //本机V8 ip 192.168.223.1 Connection conn = getSQLConnection("192.168.223.1", "admin", "123123", "物流寄存"); String sql = "delete 学生信息表 where 学号 = " + sno; Statement stmt = conn.createStatement(); stmt.executeUpdate(sql); stmt.close(); conn.close(); result+="删除成功"; } catch (SQLException e) { e.printStackTrace(); result += "查询数据异常!" + e.getMessage(); } return result; } //按学号查询 public static String QuerySQL_sno(String sno) { String result = ""; try { //10.0.2.2 android ip //本机V8 ip 192.168.223.1 171.120.157.130 Connection conn = getSQLConnection("192.168.223.1", "admin", "123123", "物流寄存"); String sql = "select * from 学生信息表 where 学号 = '"+ sno+"';"; Statement stmt = conn.createStatement(); ResultSet rs = stmt.executeQuery(sql); while (rs.next()) {//学号、姓名、班级、性别、专业、学院 String s1 = rs.getString("学号").trim(); String s2 = rs.getString("姓名").trim(); String s3 = rs.getString("班级").trim(); String s4 = rs.getString("性别").trim(); String s5 = rs.getString("专业").trim(); String s6 = rs.getString("学院").trim(); result += s1 + " " + s2 + " " + s3 + " " + s4+ " " + s5+" "+s6+"\n"; // System.out.println(s1 + " - " + s2); } rs.close(); stmt.close(); conn.close(); } catch (SQLException e) { e.printStackTrace(); result += "查询数据异常!" + e.getMessage(); } return result; } //按性别查询 public static String QuerySQL_sex(String sex) { String result = ""; try { //10.0.2.2 android ip //本机V8 ip 192.168.223.1 171.120.157.130 Connection conn = getSQLConnection("192.168.223.1", "admin", "123123", "物流寄存"); String sql = "select * from 学生信息表 where 性别 = '"+sex+"';"; Statement stmt = conn.createStatement(); ResultSet rs = stmt.executeQuery(sql); while (rs.next()) {//学号、姓名、班级、性别、专业、学院 String s1 = rs.getString("学号").trim(); String s2 = rs.getString("姓名").trim(); String s3 = rs.getString("班级").trim(); String s4 = rs.getString("性别").trim(); String s5 = rs.getString("专业").trim(); String s6 = rs.getString("学院").trim(); result += s1 + " " + s2 + " " + s3 + " " + s4+ " " + s5+" "+s6+"\n"; // System.out.println(s1 + " - " + s2); } rs.close(); stmt.close(); conn.close(); } catch (SQLException e) { e.printStackTrace(); result += "查询数据异常!" + e.getMessage(); } return result; } //按学院查询 public static String QuerySQL_xueyuan(String xueyuan) { String result = ""; try { //10.0.2.2 android ip //本机V8 ip 192.168.223.1 171.120.157.130 Connection conn = getSQLConnection("192.168.223.1", "admin", "123123", "物流寄存"); String sql = "select * from 学生信息表 where 学院 = '"+ xueyuan +"';"; Statement stmt = conn.createStatement(); ResultSet rs = stmt.executeQuery(sql); //System.out.println(rs); while (rs.next()) {//学号、姓名、班级、性别、专业、学院 String s1 = rs.getString("学号").trim(); String s2 = rs.getString("姓名").trim(); String s3 = rs.getString("班级").trim(); String s4 = rs.getString("性别").trim(); String s5 = rs.getString("专业").trim(); String s6 = rs.getString("学院").trim(); result += s1 + " " + s2 + " " + s3 + " " + s4+ " " + s5+" "+s6+"\n"; // System.out.println(s1 + " - " + s2); } rs.close(); stmt.close(); conn.close(); } catch (SQLException e) { e.printStackTrace(); result += "查询数据异常!" + e.getMessage(); } return result; } public static void main(String[] args) { QuerySQL(); } }
2.操作程序test.java
说明:只要DBUtil.java
无错误,并且可以利用DBUtil.java
操作数据库,则这个test.java可以直接复制
import java.util.*; public class test { public static void main(String[] args){ Scanner in = new Scanner(System.in); int flag = 0; String sno = "", name = " ", banji = " ", sex = " ", shuanye = " ", xueyuan = " "; System.out.println(" 学生信息管理程序 "); System.out.println(" 0.查看控制面板 "); System.out.println(" 1.查询全体学生信息 "); System.out.println(" 2.插入学生信息 "); System.out.println(" 3.删除学生 "); System.out.println(" 4.修改学生信息 "); System.out.println(" 5.查询相关信息 "); System.out.println(" 6.退出 "); while(true) { System.out.println(" 输入要继续执行的操作:"); flag = in.nextInt(); in.nextLine(); if(flag == 6) break; else { switch (flag) { case 0: System.out.println(" 0.查看控制面板 "); System.out.println(" 1.查询全体学生信息 "); System.out.println(" 2.插入学生信息 "); System.out.println(" 3.删除学生 "); System.out.println(" 4.修改学生信息 "); System.out.println(" 5.查询相关信息 "); System.out.println(" 6.退出 "); break; case 1://查询全部 System.out.println("查询全体学生信息:"); System.out.print(DBUtil.QuerySQL()); break; case 2://插入信息 System.out.println("请输入要插入的学生的信息(以空格隔开):"); String str = in.nextLine(); String[] S = str.split(" "); sno = S[0]; name = S[1]; banji = S[2]; sex = S[3]; shuanye = S[4]; xueyuan = S[5]; System.out.print(DBUtil.insert_student(sno, name, banji, sex, shuanye, xueyuan)); break; case 3://删除学生信息 System.out.println("请输入要删除的学生的学号:"); sno = in.nextLine(); System.out.print(DBUtil.delete_student(sno)); break; case 4://修改学生信息 System.out.println("请输入要修改的学生的学号:"); sno = in.nextLine(); DBUtil.delete_student(sno); System.out.println("请输入要修改的学生的信息以空格隔开(学号不可修改):"); String str2 = in.nextLine(); String[] S2 = str2.split(" "); name = S2[0]; banji = S2[1]; sex = S2[2]; shuanye = S2[3]; xueyuan = S2[4]; DBUtil.insert_student(sno, name, banji, sex, shuanye, xueyuan); System.out.println("修改之后的数据:"); break; case 5://查询相关信息 System.out.println(" 1.按学院查询 "); System.out.println(" 2.按学号查询 "); System.out.println(" 3.按性别查询 "); int FLG = Integer.parseInt(in.nextLine()); //in.nextInt(); switch(FLG){ case 1 ://按学院查询 System.out.println("要查询的学院:"); String temp_xueyuan = in.nextLine(); System.out.print(DBUtil.QuerySQL_xueyuan(temp_xueyuan)); break; case 2 ://按学号查询 System.out.println("要查询学生的学号:"); String temp_sno = in.nextLine(); System.out.print(DBUtil.QuerySQL_sno(temp_sno)); break; case 3://按性别查询 System.out.println("要查询的性别:"); String temp_sex = in.nextLine(); System.out.print(DBUtil.QuerySQL_sex(temp_sex)); break; } break; }//switch }//else } } }
原文出处:https://blog.csdn.net/qq_51985653/article/details/121913274
相关文章
- 这篇文章主要介绍了如何利用java语言实现经典《复杂迷宫》游戏,文中采用了swing技术进行了界面化处理,感兴趣的小伙伴可以动手试一试...2022-02-01
java 运行报错has been compiled by a more recent version of the Java Runtime
java 运行报错has been compiled by a more recent version of the Java Runtime (class file version 54.0)...2021-04-01- 这篇文章主要介绍了在java中获取List集合中最大的日期时间操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-08-15
- 这篇文章主要介绍了教你怎么用Java获取国家法定节假日,文中有非常详细的代码示例,对正在学习java的小伙伴们有非常好的帮助,需要的朋友可以参考下...2021-04-23
- 这篇文章主要介绍了Java如何发起http请求的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-03-31
- 说起C#和Java这两门语言(语法,数据类型 等),个人以为,大概有90%以上的相似,甚至可以认为几乎一样。但是在工作中,我也发现了一些细微的差别...2020-06-25
- 这篇文章主要介绍了解决Java处理HTTP请求超时的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-03-29
- 这篇文章主要介绍了java 判断两个时间段是否重叠的案例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-08-15
- 这篇文章主要介绍了超简洁java实现双色球若干注随机号码生成(实例代码),本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2021-04-02
- 这篇文章主要介绍了Java生成随机姓名、性别和年龄的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-10-01
java 画pdf用itext调整表格宽度、自定义各个列宽的方法
这篇文章主要介绍了java 画pdf用itext调整表格宽度、自定义各个列宽的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-01-31- 这篇文章主要介绍了java正则表达式判断前端参数修改表中另一个字段的值,需要的朋友可以参考下...2021-05-07
Java使用ScriptEngine动态执行代码(附Java几种动态执行代码比较)
这篇文章主要介绍了Java使用ScriptEngine动态执行代码,并且分享Java几种动态执行代码比较,需要的朋友可以参考下...2021-04-15- 这篇文章主要介绍了Java开发实现人机猜拳游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2020-08-03
SQL Server中row_number函数的常见用法示例详解
这篇文章主要给大家介绍了关于SQL Server中row_number函数的常见用法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-12-08- 这篇文章主要介绍了Java List集合返回值去掉中括号('[ ]')的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-08-29
- 这篇文章主要介绍了C#查询SqlServer数据库并返回单个值的方法,涉及C#操作SQLServer数据库查询的相关技巧,需要的朋友可以参考下...2020-06-25
Java中lombok的@Builder注解的解析与简单使用详解
这篇文章主要介绍了Java中lombok的@Builder注解的解析与简单使用,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2021-01-06- 下面小编就为大家带来一篇java中String类型变量的赋值问题介绍。小编觉得挺不错的。现在分享给大家,给大家一个参考。...2016-03-28
Java 8 Stream 的终极技巧——Collectors 功能与操作方法详解
这篇文章主要介绍了Java 8 Stream Collectors 功能与操作方法,结合实例形式详细分析了Java 8 Stream Collectors 功能、操作方法及相关注意事项,需要的朋友可以参考下...2020-05-20