| 发表于:2007-07-23 13:41:22 楼主 |
文件testdb.jsp的源代码: <%@ page contenttype= "text/html; charset=gb2312 " language= "java "%> <%@page import= "java.sql.*,javax.sql.*,javax.naming.*,java.io.* "%> <html> <head> <title> </title> </head> <body> <jsp:usebean id= "db " scope= "application " class= "db.db " /> <% string sql = "select pointid,road from gx_dsx "; resultset rs = db.EXECutequery(sql); rs.last(); //out.print(rs.gettype()+ " <br> "); while(rs.next()){ out.print(rs.getstring( "pointid ")); out.print( " <br> "); } %> </body> </html> 其中的javabean,db的源代码: package db; import java.sql.*; import javax.sql.*; import javax.naming.*; import java.util.*; public class db { datasource ds=null; context initctx=null; context ctx=null; connection conn =null; public db(){ try{ initctx = new initialcontext(); ctx = (context) initctx.lookup( "java:comp/env "); ds = (datasource) ctx.lookup( "oracledbpool "); conn = ds.getconnection(); } catch (sqlexception e) {} catch (namingexception e) {} } protected void finalize( ){ try{conn.close();}catch(exception e){} } //查询记录 public resultset EXECutequery(string sql){ resultset rs = null; try{ statement st = conn.createstatement(resultset.type_scroll_insensitive, resultset.concur_read_only); rs = st.EXECutequery(sql); } catch(sqlexception e){} return rs; } //修改记录 public int EXECuteupdate(string sql){ int rows = 0; resultset rs = null; try{ statement st = conn.createstatement(resultset.type_scroll_insensitive,resultset.concur_read_only); rows = st.EXECuteupdate(sql); } catch(sqlexception e){} return rows; } } 在tomcat下运行testdb.jsp(配置正确),报错:“对只转发结果集的无效操作: last” 然后我在testdb.jsp中加入这句话out.print(rs.gettype()+ " <br> "); 出来的结果是1003,查找jdk文档,对应的类型是resultset.type_forward_only 可是我在db.java中明明用的是resultset.type_scroll_insensitive,请问为什么会这样呢? |
|
|
|
|