读书人

关于接口 ResultSet有关问题

发布时间: 2012-03-04 11:13:34 作者: rapoo

关于接口 ResultSet问题,在线等
ResultSet 对象不可更新,仅有一个向前移动的光标

如果想让光标按需要指定位置,首先我想到用first(),last()等一系列方法.此时我已设置
Statement stmt = con.createStatement(
ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_UPDATABLE);

结果报错java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Unsupported method: ResultSet.isAfterLast
at com.microsoft.jdbc.base.BaseExceptions.createException(Unknown Source)
at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)
at com.microsoft.jdbc.base.BaseResultSet.validateScrollable(Unknown Source)
at com.microsoft.jdbc.base.BaseResultSet.isAfterLast(Unknown Source)
at StudentLoginSvlt.backadd(StudentLoginSvlt.java:308)
at StudentLoginSvlt.textadd(StudentLoginSvlt.java:286)
at StudentLoginSvlt.doGet(StudentLoginSvlt.java:207)
at StudentLoginSvlt.doPost(StudentLoginSvlt.java:416)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
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.coyote.http11.Http11Processor.process(Http11Processor.java:825)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:738)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:526)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
at java.lang.Thread.run(Thread.java:595)
java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Unsupported method: ResultSet.isAfterLast
at com.microsoft.jdbc.base.BaseExceptions.createException(Unknown Source)
at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)
at com.microsoft.jdbc.base.BaseResultSet.validateScrollable(Unknown Source)
at com.microsoft.jdbc.base.BaseResultSet.isAfterLast(Unknown Source)
at StudentLoginSvlt.backadd(StudentLoginSvlt.java:308)
at StudentLoginSvlt.textadd(StudentLoginSvlt.java:286)
at StudentLoginSvlt.doGet(StudentLoginSvlt.java:207)
at StudentLoginSvlt.doPost(StudentLoginSvlt.java:416)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
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.coyote.http11.Http11Processor.process(Http11Processor.java:825)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:738)


at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:526)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
at java.lang.Thread.run(Thread.java:595)



[解决办法]
这是SQL SERVER的东西?
查了一下,只有ResultSets Property,还全是E文的.

The ResultSets property returns the count of units of data returned from query execution.

Applies ToQueryResults Object


Syntax
object.ResultSets

Parts
object

Expression that evaluates to an object in the Applies To list

Data Type
Long

Modifiable
Read-only

Prototype (C/C++)
HRESULT GetResultSets(LPLONG pRetVal);

Remarks
Commonly, Microsoft® SQL Server? 2000 query execution returns data to the client. Returned data may be an indicator of rows affected by the query or can be row data extracted from one or more SQL Server tables. When row data is returned, data is tabular and values in the resulting data can be referenced using ordinal column and row values.

The execution output of some SQL Server queries cannot be represented in a single result unit. For example, each statement in a batch of Transact-SQL statements may return a count of affected rows or row data. Some Transact-SQL statements return multiple units of data, for example, a SELECT statement containing a COMPUTE or COMPUTE BY clause. Each discreet unit of returned data is called a result set.

Use the ResultSets property to determine the number of units of returned data. Use the CurrentResultSet property to navigate between units.



Note There is no guarantee of consistency between result sets. Each result set may have zero or more columns. Within each set, the names, data types, and meanings of the columns may vary.


[解决办法]
This ability to move its cursor only forward is the default behavior for a ResultSet and is the only cursor movement possible with drivers that implement only the JDBC 1.0 API. This kind of result set has the type ResultSet.TYPE_FORWARD_ONLY and is referred to as a forward only result set.

读书人网 >SQL Server

热点推荐