我使用了系统报错:
java.sql.SQLException: 对只转发结果集的无效操作: previous
        at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:114)
        at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:156)
        at oracle.jdbc.driver.BaseResultSet.previous(BaseResultSet.java:95)
        at ereport.SelBean.return_data(SelBean.java:335)
        at src.ereport._0002fsrc_0002fereport_0002fsearchresult_0002ejspsearchre
sult_jsp_0._jspService(_0002fsrc_0002fereport_0002fsearchresult_0002ejspsearchre
sult_jsp_0.java:214)
        at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:119)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
        at org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspSer
vlet.java:177)
        at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:3
18)
        at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:391)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
        at org.apache.tomcat.core.ServletWrapper.doService(ServletWrapper.java:4
04)
        at org.apache.tomcat.core.Handler.service(Handler.java:286)
        at org.apache.tomcat.core.ServletWrapper.service(ServletWrapper.java:372
)
        at org.apache.tomcat.core.ContextManager.internalService(ContextManager.
java:797)
        at org.apache.tomcat.core.ContextManager.service(ContextManager.java:743
)
        at org.apache.tomcat.service.http.HttpConnectionHandler.processConnectio
n(HttpConnectionHandler.java:210)
        at org.apache.tomcat.service.TcpWorkerThread.runIt(PoolTcpEndpoint.java:
416)
        at org.apache.tomcat.util.ThreadPool$ControlRunnable.run(ThreadPool.java
:498)
        at java.lang.Thread.run(Thread.java:484)请问我该怎么办??????

解决方案 »

  1.   

    没有结果集才打开呀!!! r.next()可以使用,并且能正确获得结果!!!!
      

  2.   

    各位大虾,现在又有新的情况了。
    我仔细观察后发现了。r.last()必须在
       stmt=con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY ); 设置的情况下才能使用了。而我使用的 ORACLE 的 jdbc它默认的是 :     stmt=con.createStatement(ResultSet.TYPE_FORWARD_ONLY , ResultSet.CONCUR_READ_ONLY ); 即只能数据库游标只能向下运行。
     但是,我设置完 stmt=con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY );后,从数据库提取的数据,汉字变为乱码,而英文和数字都正常,我使用了 str1 = new String(str.getBytes("ISO8859_1"),"gb2312");也不能正常。希望各位大虾看一下,我下面该怎么办????
    我的环境是: Win2k Advanced + Jbuilder4+tomcat3.2.3+ORACLE8.1.6
    使用javabean 从数据库中取数据,使用System.out.println();输出汉字变为乱码:
    如:  管理员:(输出为) 0xE7AEA1E79086E59198