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_INSENS