我使用了系统报错:
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)请问我该怎么办??????
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)请问我该怎么办??????
我仔细观察后发现了。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