java连接数据库实现添加、修改、查询功能

本文介绍了一个使用Java语言连接SQL Server数据库并实现查询、修改和添加功能的实例。通过具体代码展示了如何利用Statement对象执行SQL语句,以及如何处理ResultSet获取查询结果。同时,提供了用户交互界面,允许用户选择进行数据库的不同操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、题目:使用java语言连接数据库完成简单的查询、修改、添加功能
二、源代码:

  import java.util.Scanner;
    import java.sql.SQLException;
    import java.sql.Statement;
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    public class fun {
    	 public static void main(String[] args) {
    		 	Scanner scanner=new Scanner(System.in);
    		 	int i,j;
    	        Connection conn;
    	        Statement stmt;
    	        ResultSet rs;
    	        String url = "jdbc:sqlserver://localhost:1433;DatabaseName=Studys;";
    	        String sql = "select * from dbo.S";
    	        try {
    	            // 连接数据库
    	            conn = DriverManager.getConnection(url, "sa", "123456789");
    	            // 建立Statement对象
    	            stmt = conn.createStatement();
    	            /**
    	             * Statement createStatement() 创建一个 Statement 对象来将 SQL 语句发送到数据库。
    	             */
    	            // 执行数据库查询语句
    	            rs = stmt.executeQuery(sql);
    	            /**
    	             * ResultSet executeQuery(String sql) throws SQLException 执行给定的 SQL
    	             * 语句,该语句返回单个 ResultSet 对象
    	             */
    	            while(true) {
    	            	System.out.println("请选择操作:(1进行查询,2进行修改,3进行添加)");
    	            	j=scanner.nextInt();
    	            	switch(j) {
    	            		case 1:
    	            			System.out.println("请输入需要查询的学号");
    	            			j=scanner.nextInt();
    	            			sql = "select * from dbo.S where Sno="+j;
    	            			rs = stmt.executeQuery(sql);
    	            			while (rs.next()) {
    	            				int id = rs.getInt("Sno");
    	            				String name = rs.getString("Sname");
    	            				int age = rs.getInt("Sage");
    	            				String sex=rs.getString("Ssex");
    	            			String dept=rs.getString("Sdept");
    	            			System.out.println("Sno:" + id + "\tSame:" + name + "\tSage:" + age+"\tSsex:"+sex+"\tSdept:"+dept);
    	            			}
    	            			break;
    	            		case 2:
    	            			rs.close();
    	            			System.out.println("请输入需要修改信息的学生学号");
    	            			j=scanner.nextInt();
    	            			System.out.println("请输入需要修改的属性(不可以修改学号)");
    	            			String string1=scanner.next();
    	            			System.out.println("请输入修改的内容");
    	            			String string2=scanner.next();
    	            			String string3="update dbo.S  set "+string1+"='"+string2+"'"+"where Sno="+j;
    	            			stmt.executeUpdate(string3);
    	            			System.out.println("数据库更新成功!");
    	            			break;
    	            		case 3:
    	            			System.out.println("请按照顺序输入学号、姓名、年龄、性别、专业(属性之间以空格分隔)");
    	            			int int1=scanner.nextInt();
    	            			String string4=scanner.next();
    	            			int int2=scanner.nextInt();
    	            			String string5=scanner.next();
    	            			String string6=scanner.next();
    	            			stmt.executeUpdate("insert into dbo.S(sno,sname,Sage,ssex,Sdept)" +"values('"+int1+"','"+string4+"','"+int2+"','"+string5+"','"+string6+"')");
    	            			System.out.println("数据库信息添加成功");
    	            			break;
    	            	}
    	            	System.out.println("请输入数据进行选择:(1代表结束程序,0代表继续运行程序)");
    	            	i=scanner.nextInt();
    	            	if(i==1)
    	            		break;
    	            }
    	            if (rs != null) {
    	                rs.close();
    	                rs = null;
    	            }
    	            if (stmt != null) {
    	                stmt.close();
    	                stmt = null;
    	            }
    	            if (conn != null) {
    	                conn.close();
    	                conn = null;
    	            }
    	        } catch (SQLException e) {
    	            e.printStackTrace();
    	            System.out.println("数据库连接失败");
    	        }
    	        System.out.println("程序结束运行!");
    	    }
    }

三、测试及运行结果
程序运行之前的数据库dbo.S表信息如下
在这里插入图片描述
运行程序界面如下
在这里插入图片描述
首先进行查询学号为5的学生信息
在这里插入图片描述
成功查询到数据库中的信息
然后将学号为5的学生的专业修改为“计算机”
在这里插入图片描述
我们刷新一下数据库中的dbo.S表的信息
在这里插入图片描述
表中的信息成功得到修改
再添加一个学生信息
在这里插入图片描述
我们刷新dbo.S表中的信息
在这里插入图片描述
成功添加了学生信息

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值