⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 useupdatableresultset.java

📁 jsp 应用开发技术光盘 是《jsp应用开发技术》这本书的源代码
💻 JAVA
字号:
package ch13;

import java.sql.*;

public class UseUpdatableResultSet {
	public static void main(String[] args) {
		String url = "jdbc:mysql://localhost/sql_test";
		String userName = "root";
		String password = "root";
		Connection conn = null;
		try {
			Class.forName("com.mysql.jdbc.Driver");
		} catch(ClassNotFoundException e) {
			System.out.println("加载驱动器类时出现异常");
		}
		
		try {
			conn = DriverManager.getConnection(url, userName, password);
			
			//创建返回可更新结果集的语句对象
			Statement stmt = conn.createStatement(
					ResultSet.TYPE_SCROLL_INSENSITIVE, 
					ResultSet.CONCUR_UPDATABLE);
			//pstmt = conn.prepareStatement("SELECT * FROM student"
			//        ResultSet.TYPE_SCROLL_SENSITIVE, 
			//        ResultSet.CONCUR_UPDATABLE);
			
			//执行SQL查询语句得到可更新结果集
			ResultSet rs = stmt.executeQuery(
					"SELECT * FROM student ORDER BY stu_id");
						
			System.out.println("");
			System.out.println("修改之前的结果集:");
			while (rs.next()) {	
				String id      = rs.getString(1);
				String name    = rs.getString(2);
				String address = rs.getString("address");
				Date birthday = rs.getDate("birthdate");
				
				System.out.println(id + "   " + name + "   " + 
						address + "   " + birthday);
			}
			
			//将游标移动到最后一行
			rs.last();			
			int stuID = Integer.parseInt(rs.getString("stu_id"));
			
			//使用updateXXX方法更新列值			
			rs.updateString(2, "newName"+Integer.toString(stuID));
			rs.updateString("address", "newAddr");
			rs.updateDate("birthdate", new Date(79, 7, stuID%29));
			
			//使用updateRow()方法提交更新结果
			rs.updateRow();
			
			//将游标移动到插入行
			rs.moveToInsertRow();
			stuID++;
			
            //使用updateXXX方法更新列值
			rs.updateString("stu_id", Integer.toString(stuID));
			rs.updateString(2, "Name"+Integer.toString(stuID));
			rs.updateString("address", "Addr"+Integer.toString(stuID));
			rs.updateDate("birthdate", new Date(79, 7, stuID%29));
			
			//使用insertRow()方法提交插入行
			rs.insertRow();
			
            //将游标移动到当前行
			rs.moveToCurrentRow();
			rs.previous();
			
			//使用deleteRow()方法删除一行
			rs.deleteRow();
			rs.close();
			
			//重新查询并显示结果集
			rs = stmt.executeQuery(
					"SELECT * FROM student ORDER BY stu_id");
			System.out.println("");
			System.out.println("修改之后的结果集:");
			while (rs.next()) {	
				String id      = rs.getString(1);
				String name    = rs.getString(2);
				String address = rs.getString("address");
				Date birthday = rs.getDate("birthdate");
				
				System.out.println(id + "   " + name + "   " + 
						address + "   " + birthday);
			}
			
			rs.close();
			stmt.close();
			
		} catch(SQLException e) {
			System.out.println("出现SQLException异常");
		} finally {
			//关闭语句和数据库连接
			try {
				if (conn != null) conn.close();
			} catch(SQLException e) {
				System.out.println("关闭数据库连接时出现异常");
			}		
		}
		
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -