📄 useupdatableresultset.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 + -