TestUpdateRS(29)

来源:互联网 发布:涨价去库存知乎 编辑:程序博客网 时间:2024/05/21 23:32

/**
*Title:TestUpdateRS
*Description:
*@Copyright:
*@Company:
*@autor:firefly
*@version:1.0
*@time:2012.11.14
*/

import java.sql.*;

public class TestUpdateRs {
 public static void main(String[] args) {
  try {
   new oracle.jdbc.driver.OracleDriver();
   String url = "jdbc:oracle:thin:@122.207.171.222:1521:ORCL";
   Connection conn = DriverManager.getConnection(url, "scott", "tiger");
   Statement stmt = conn.createStatement(
     ResultSet.TYPE_SCROLL_SENSITIVE,
     ResultSet.CONCUR_UPDATABLE);
   ResultSet rs = stmt.executeQuery("select ename, sal, deptno, mgr from emp2");
   //如果这里写成了select * from emp2;会这样的错误:(java.sql.SQLException: 对只读结果集的无效操作: updateString)
   //但是如果把所有的字段都列出来的话,不会报错。但如果你忘记写了某个字段会提示列名无效。
   rs.next();
   //更新一行数据
   rs.updateString("ename", "AAAA");//内存中将些行ename字段改为AAAA
   rs.updateRow();                   //数据库中也要将其改动。
   
   //插入一行
   rs.moveToInsertRow();  //这个结果集的最后一行的最下面,移动到这个位置。
   rs.updateInt(1, 9999); //在第一个字段的地方插入9999
   rs.updateString("ename", "9999");
   rs.updateInt("mgr", 7839);
   rs.updateDouble("sal", 99.99);
   rs.insertRow();        //调用insertRow()将其插入到数据库里。
   
   //将光标移动到新建的行
   rs.moveToCurrentRow();
   
   //删除行
   rs.absolute(5);
   rs.deleteRow();
   
  } catch(SQLException e) {
   e.printStackTrace();
  }

 }

}