我写了一段SQL查询语句,但在用rs.next()取结果集时,取到第十个时出错了,下面是SQL语句和提示错误信息。
sqlString  = select txn_dt as lastday,subj_id,debit_at,credit_at,curr_bal_at,last_mth_end_at,curr_yr_start_at from ssdtot where city_id='5850000' and txn_dt in ( select max(txn_dt) from ssdtot where substr(txn_dt,1,6)='200403') order by subj_id错误信息:
java.sql.SQLException: 操作不允许: Unsupported syntax for refreshRow()
        at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java)
        at oracle.jdbc.driver.SensitiveScrollableResultSet.refreshRow(SensitiveS
crollableResultSet.java)
        at oracle.jdbc.driver.SensitiveScrollableResultSet.handle_refetch(Sensit
iveScrollableResultSet.java)
        at oracle.jdbc.driver.SensitiveScrollableResultSet.next(SensitiveScrolla
bleResultSet.java)
        at org.apache.jsp.itemDetailAt_0005fList$jsp._jspService(itemDetailAt_00
05fList$jsp.java:378)问了别人,说是ORACLE的JDBC实现不能存放太多的缓冲,我这个查询语句已经是用了三重缓冲,而我把原来的sql语句的后面排序的那句去掉,就可以了,即
sqlString = select txn_dt as lastday,subj_id,debit_at,credit_at,curr_bal_at,last_mth_end_at,curr_yr_start_at from ssdtot where city_id='5850000' and txn_dt in ( select max(txn_dt) from ssdtot where substr(txn_dt,1,6)='200403')但是我有需要用到这个排序,请问有更好的解决办法吗?