已知是这一行程序的问题导致程序报错,请问应该怎么解决。
代码如下:
public Object query(String sql, String[] params, ResultSetHandler rsh)
{
QueryRunner qr = new QueryRunner(ds);
Object results = null;
try
{
results = qr.query(sql, params, rsh);//出错
} catch (SQLException e)
{
e.printStackTrace();
}
return results;
报错如下:
java.sql.SQLException: Wrong number of parameters: expected 1, was given 0 Query: select * from (select a.*,rownum r from (select * from guestbook wehere id=?) a where rownum <=10) where r>=1 Parameters: []
at org.apache.commons.dbutils.AbstractQueryRunner.rethrow(AbstractQueryRunner.java:392)
at org.apache.commons.dbutils.QueryRunner.query(QueryRunner.java:351)
at org.apache.commons.dbutils.QueryRunner.query(QueryRunner.java:270)
at com.v512.util.OracleUtil.query(OracleUtil.java:73)
at com.v512.util.OraclePagination.getList(OraclePagination.java:123)
at com.v512.lesson15.ManageServlet.list(ManageServlet.java:99)
at com.v512.lesson15.ManageServlet.doGet(ManageServlet.java:134)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:723)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.v512.lesson15.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:26)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.v512.lesson15.AuthenticationFilter.doFilter(AuthenticationFilter.java:34)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:879)
at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:617)
at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1778)
at java.lang.Thread.run(Thread.java:662)