OraHelper oraConn = new OraHelper();//这是数据库连接
String procedure = "{ call pkg_fjcj.p_search(?,?,?,?,?) } ";
CallableStatement cstmt = oraConn.getStatement().getConnection().prepareCall(procedure);
cstmt.setInt(1,Integer.parseInt(dotid));
cstmt.setString(2,pot);
cstmt.setString(3,fromdate);
cstmt.setString(4,enddate);
cstmt.registerOutParameter(5,OracleTypes.CURSOR);
cstmt.executeQuery();
ResultSet rs = (ResultSet)cstmt.getObject(5); 我用rs.last等语句时报错:
java.sql.SQLException: 对只转发结果集的无效操作: last
String procedure = "{ call pkg_fjcj.p_search(?,?,?,?,?) } ";
CallableStatement cstmt = oraConn.getStatement().getConnection().prepareCall(procedure);
cstmt.setInt(1,Integer.parseInt(dotid));
cstmt.setString(2,pot);
cstmt.setString(3,fromdate);
cstmt.setString(4,enddate);
cstmt.registerOutParameter(5,OracleTypes.CURSOR);
cstmt.executeQuery();
ResultSet rs = (ResultSet)cstmt.getObject(5); 我用rs.last等语句时报错:
java.sql.SQLException: 对只转发结果集的无效操作: last
解决方案 »
- 我的Servlet执行不了啊,求大家看看
- 如何将JDK+Tomcat+MySQL+Web程序一起打包为exe的完整安装程序?
- 关于struts<s:iterator>中<s:if>比对失效
- mysql数据连接池不能释放的问题
- JSP中radio传值的问题??
- 一个简单的document.getelementsbyname问题,在线等!谢谢
- javascript 中 unonload事件痛苦的问题,请高手解决,急!!
- WIN98到底要怎么配才能运行JSP?
- 高分送出页面下载问题!!
- wsdl解析錯誤!Webservices Unexpected EOF in prolog at [row,col,system-id]
- [Microsoft][sqlserver Jdbc Driver] Error establishing Socket
- JSP发邮件 小毛病找不到 请各位帮忙看看~~
CallableStatement prepareCall(String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability)
ResultSet result = null ;
try{
String procedure = "{ call pkg_fjcj.p_search(?,?,?,?,?) } ";
CallableStatement cstmt = oraConn.getStatement().getConnection().prepareCall(procedure,java.sql.ResultSet.TYPE_SCROLL_INSENSITIVE,java.sql.ResultSet.CONCUR_READ_ONLY);
// CallableStatement cstmt = oraConn.p
cstmt.setInt(1,dotid);
cstmt.setString(2,pot);
cstmt.setString(3,fromDate);
cstmt.setString(4,endDate);
cstmt.registerOutParameter(5,OracleTypes.CURSOR);
cstmt.executeQuery();
result = (ResultSet)cstmt.getObject(5);
}
catch(Exception e)
{
e.getStackTrace();
System.out.println("shopPotCollection->返回数据集错误!");
}
return result;
}这样也不中
其实我已经在下面的函数中加了:
public Statement getStatement()
{
Statement sqlCommand = null ; try
{
Class.forName( driverName ) ;
Connection conn = DriverManager.getConnection( connString,username,password ) ;
//System.out.println("conn="+conn);
//sqlCommand = conn.createStatement();
/*
创建一个只读的、可滚动的数据指针类型
*/
sqlCommand = conn.createStatement(java.sql.ResultSet.TYPE_SCROLL_INSENSITIVE,java.sql.ResultSet.CONCUR_READ_ONLY);
}
catch( Exception ex )
{
ex.getStackTrace();
// log.error( ex.getMessage() ) ;
}
return sqlCommand ;
}
DatabaseMetaData类的supportsResultSetType和supportResultSetConcurrency方法负责告诉你某个数据库究竟支持那些结果集类型合并发性模式。即使数据库支持,某个特定的查询也可能无法产生带有你要求的所有属性的结果集。
例如:复杂查询的结果集可能不是可更新的结果集。
你可以使用ResultSet类的getType和getConcurrency方法来查找某个结果集实际上属于何种模式。