当前位置:  技术问答>java相关

如何使用ResultSet对象的last()以及first()方法?何为“只转发结果集”?

    来源: 互联网  发布时间:2015-08-15

    本文导语:  //下面的code很简单,但就是报错,我……  //环境 :MS Windows 2k Pro + J2SDK1.4 Beta3 +JCreator25 import java.util.*; import java.sql.*; public class DataSet { Connection conn;     Statement  stmt;     ResultSet  rs;     int rowCo...

//下面的code很简单,但就是报错,我…… 
//环境 :MS Windows 2k Pro + J2SDK1.4 Beta3 +JCreator25

import java.util.*;
import java.sql.*;

public class DataSet
{
Connection conn;
    Statement  stmt;
    ResultSet  rs;
    int rowCount = 0;
    /** -------------Database constructor-----------
     * constructor takes server providing database
     */
    public DataSet()
    {
        try {
        
            Class.forName("oracle.jdbc.driver.OracleDriver");
            String url=new String("jdbc:oracle:thin:@127.0.0.1:1521:ora8");
            conn = DriverManager.getConnection(url,"scott","tiger");
            stmt = conn.createStatement();
        } catch (ClassNotFoundException e) {e.printStackTrace();}
          catch (SQLException se) { se.printStackTrace(); }
            
   }

    
    /** ------------------close-------------
     * closes connection to database server
     */
    public void close(boolean rsexit)
    {
     try
     {
     if(rsexit)
     rs.close();
     stmt.close();
        conn.close();
     }catch(SQLException closeE){closeE.printStackTrace();}
    }
    public void go()
    {
     try{
     rs = stmt.executeQuery("SELECT * FROM sm_employee");
     if(rs.last())//第46行!
     rowCount = rs.getRow();
    
     }catch(SQLException e){e.printStackTrace();}
    
     System.out.print(rowCount);
    
    }
    public static void main(String[] args)
    {
     DataSet ds = new DataSet();
     ds.go();
     ds.close(true);
    
    }
}

/*提示信息如下

java.sql.SQLException: 对只转发结果集的无效操作: last
        at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:168)
        at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:210)
        at oracle.jdbc.driver.BaseResultSet.last(BaseResultSet.java:90)
        at DataSet.go(DataSet.java:44)
        at DataSet.main(DataSet.java:55)
*/

|
转发==forwardOnly? if you want to use last(), do not use forward only cursor

by default, with createStatement(), you will get a forwardonly readonly resultset, try
stmt = conn.createStatement(TYPE_SCROLL_INSENSITIVE , ResultSet.CONCUR_READ_ONLY);

|
要设置ResultSet的可滚动性,需要指定生成Statement时的相应值:
Statement stmt = connect.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY)

其中,前一个参数有三种选择:ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.TYPE_FORWARD_ONLY;
后一个有两种:ResultSet.CONCUR_READ_ONLY,ResultSet.CONCUR_UPDATABLE

|
你的stmt = conn.createStatement();结果集不用用LAST方法,必须加参数;
stmt = conn.createStatement(ResultSet.....here,some code...);

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 1. 请问linux下可以使用“typedef list<对象*> 对象列表名 ”和iterator吗?
  • 使用XmlSerializer序列化List对象成XML格式(list对象序列化)
  • 请教一个java中有关对象使用的问题
  • 请问自己定义的对象如何使用Hashtable存取?
  • linux下动态库中如何导出对象进行使用
  • ASP.NET中application对象的使用介绍
  • 使用完ejb对象,快速释放出它占用的空间,而不删除数据库记录,是用的那条语句?
  • 两个简单问题:在javaBean中能用out.println()输出页面吗?javaBean中可以使用servlet建立的session对象变量值吗?
  • 简单问题--关于Color对象的使用
  • Asp.ne response对象与request对象使用介绍
  • 在数据库中参数的输入 使用PreparedStatement对象出错
  • 对象序列化--存储数据库的方法 序列化后 不能使用
  • jquery使用jquery.zclip插件复制对象的实例教程
  • 请教使用相关值对象的理解和使用问题。(请大家帮忙)
  • Java对象初始化顺序的使用
  • 散点分,顺便问一下哪位有JavaScript的使用帮助资料<主要是里面的各种对象及方法属性的使用>
  • 在线等待:jsp内置对象的详细使用例子.要代码.如果给出详细资料也可考虑给分.100大洋伺候.
  • php使用反射插入对象示例分享
  • 简单小问题,指点迷津。不是一个包中类可以不引用随便调用么?我在jb使用中,用自己做的类生成对象,怎么说找不到?
  • :::::::::我想保持当前对象的状态,在另一个程序中使用,高手请进!!!
  • C++ I/O 成员 tellg():使用输入流读取流指针
  • 在测试memset函数的执行效率时,分为使用Cash和不使用Cash辆种方式,该如何控制是否使用缓存?
  • C++ I/O 成员 tellp():使用输出流读取流指针
  • 求ibm6000的中文使用手册 !从来没用过服务器,现在急需使用它,不知如何使用! 急!!!!!
  • Python不使用print而直接输出二进制字符串
  • 请问:在使用oracle数据库作开发时,是使用pro*c作开发好些,还是使用库函数如oci等好一些啊?或者它们有什么区别或者优缺点啊?
  • Office 2010 Module模式下使用VBA Addressof
  • 急求结果!!假设一个有两个元素的信号量集S,表示了一个磁带驱动器系统,其中进程1使用磁带机A,进程2同时使用磁带机A和B,进程3使用磁带机B。
  • windows下tinyxml.dll下载安装使用(c++解析XML库)
  • c#中SAPI使用总结——SpVoice的使用方法
  • tcmalloc内存泄露优化c++开源库下载,安装及使用介绍


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3