我在连接数据库取得Connection conn后Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
String sql="SELECT * FROM TABLE";
ResultSet rs=stmt.executeQuery(sql);
rs.next();
int x=rs.getInt(1);
rs.last();当程序执行到rs.last()时,就出现java.sql.SQLException: Result set type is TYPE_FORWARD_ONLY ,当前的执行结果都是正确的,请问这错在哪里了?这里的stmt不是已经设置游标了吗?为什么还会出现这种错误呢?请高手来帮帮我!谢谢
String sql="SELECT * FROM TABLE";
ResultSet rs=stmt.executeQuery(sql);
rs.next();
int x=rs.getInt(1);
rs.last();当程序执行到rs.last()时,就出现java.sql.SQLException: Result set type is TYPE_FORWARD_ONLY ,当前的执行结果都是正确的,请问这错在哪里了?这里的stmt不是已经设置游标了吗?为什么还会出现这种错误呢?请高手来帮帮我!谢谢
我怀疑是不是这个数据库版本太旧了还是需要在Jbuilder中再设置什么的?
我用的环境和工具是
jdk 1.5.0, jbuilder x , sybase 11.9.2 ,tomcat 5.0 ,apache 2.0.52 ,jconn2.jar
<%
Class.forName("com.sybase.jdbc.SybDriver").newInstance();
String url="jdbc:sybase:Tds:localhost:5007/nspgxt";
Properties sysProps=System.getProperties();
sysProps.put("user","sa");
sysProps.put("password","123456");
Connection conn=DriverManager.getConnection(url,sysProps);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
ResultSet rs=stmt.executeQuery("SELECT * FROM TABLE");
rs.next();
out.println(rs.getInt(1));
rs.last();
out.println(rs.getString(2));
%>
jbuilder x里tools\configure libraries中,在user home里添加了一个新的名为sybase
目录为E:\Program Files\Apache Software Foundation\Tomcat 5.5\common\lib\
project\project properties\required libraries已经添加了sybase
An error occured in the bean. Error Message is: JZ006: 捕获到 IO 例外:java.net.ConnectException: Connection refused: connect
Stack Trace is :
java.sql.SQLException: JZ006: 捕获到 IO 例外:java.net.ConnectException: Connection refused: connect
at com.sybase.jdbc2.jdbc.ErrorMessage.raiseError(ErrorMessage.java:534)
at com.sybase.jdbc2.jdbc.ErrorMessage.raiseErrorCheckDead(ErrorMessage.java:838)
at com.sybase.jdbc2.tds.Tds.handleIOE(Tds.java:3441)
at com.sybase.jdbc2.tds.Tds.login(Tds.java:421)
at com.sybase.jdbc2.jdbc.SybConnection.tryLogin(SybConnection.java:247)
at com.sybase.jdbc2.jdbc.SybConnection.regularConnect(SybConnection.java:223)
at com.sybase.jdbc2.jdbc.SybConnection.(SybConnection.java:198)
at com.sybase.jdbc2.jdbc.SybConnection.(SybConnection.java:132)
at com.sybase.jdbc2.jdbc.SybDriver.connect(SybDriver.java:179)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at org.apache.jsp.index_jsp._jspService(org.apache.jsp.index_jsp:61)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:99)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:325)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:245)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:300)
at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:383)
at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:743)
at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:675)
at org.apache.jk.common.SocketConnection.runIt(ChannelSocket.java:866)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
at java.lang.Thread.run(Unknown Source)
另外,确认sybase配置的是5000