Jdbc result 常用方法(转)

在滚动结果集中可用的方法有:

rs.previous();//向前滚动

rs.next();//向后滚动

rs.getRow();//得到当前行号

rs.absolute(n);//光标定位到n行

rs.relative(int n);//相对移动n行

rs.first();//将光标定位到结果集中第一行。

rs.last();//将光标定位到结果集中最后一行。

rs.beforeFirst()//将光标定位到结果集中第一行之前。

rs.afterLast();//将光标定位到结果集中最后一行之后。

rs.moveToInsertRow();//光标移到插入行

rs.moveToCurrentRow();//光标移回到调用

rs.moveToInsertRow()方法前光标所在行

//测试光标位置

rs.isFirst()

rs.isLast()

rs.isBeforeFirst()

rs.isAfterLast()

例子:

import java.sql.*;

public class TestScroll {

public static void main(String args[]) {

try {

new oracle.jdbc.driver.OracleDriver();

String url = "jdbc:oracle:thin:@192.168.0.1:1521:SXT";

Connection conn = DriverManager

.getConnection(url, "scott", "tiger");

Statement stmt = conn.createStatement(

ResultSet.TYPE_SCROLL_INSENSITIVE,

ResultSet.CONCUR_READ_ONLY);

ResultSet rs = stmt

.executeQuery("select * from emp order by sal");

rs.next();

System.out.println(rs.getInt(1));

rs.last();

System.out.println(rs.getString(1));

System.out.println(rs.isLast());

System.out.println(rs.isAfterLast());

System.out.println(rs.getRow());

rs.previous();

System.out.println(rs.getString(1));

rs.absolute(6);

System.out.println(rs.getString(1));

rs.close();

stmt.close();

conn.close();

} catch (SQLException e) {

e.printStackTrace();

}

}

}



在可更新结果集中可用的方法有:(单表)

rs.insertRow();//把插入行加入数据库和结果集

rs.deleteRow();//从数据库和结果集中删除当前行

rs.updateXXX(int column,XXX data);XXX代表int/double/String/Date中类型之一

rs.updateXXX(String columnName,String Data); //以上两个方法更新结果集当前行

rs.updateRow();//更新内容发送到更新数据库

例子:
import java.sql.*;
public class TestUpdataRs {
public static void main(String args[]){

try{
new oracle.jdbc.driver.OracleDriver();
String url="jdbc:oracle:thin:@192.168.0.1:1521:SXT";
Connection conn=DriverManager.getConnection(url,"scott","tiger");
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);

ResultSet rs=stmt.executeQuery("select * from emp2");

rs.next();
//更新一行数据
rs.updateString("ename","AAAA");
rs.updateRow();
//插入新行
rs.moveToInsertRow();
rs.updateInt(1, 9999);
rs.updateString("ename","AAAA");
rs.updateInt("mgr", 7839);
rs.updateDouble("sal", 99.99);
rs.insertRow();
//将光标移动到新建的行
rs.moveToCurrentRow();
//删除行
rs.absolute(5);
rs.deleteRow();
//取消更新
//rs.cancelRowUpdates();
}catch(SQLException e){
e.printStackTrace();
}
}
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值