Mr.ZZQ 2016-08-15 08:35 采纳率: 0%
浏览 977

求助Java,程序里报错。

java.sql.SQLException: Parameter index out of range (1 > number of parameters, which is 0).
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1073)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:987)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:982)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:927)
at com.mysql.jdbc.PreparedStatement.checkBounds(PreparedStatement.java:3717)
at com.mysql.jdbc.PreparedStatement.setInternal(PreparedStatement.java:3701)
at com.mysql.jdbc.PreparedStatement.setString(PreparedStatement.java:4552)
at com.qst.dao.InfoDao.searchInfoById(InfoDao.java:69)
at com.qst.servlet.InfoServlet.doGet(InfoServlet.java:61)
at com.qst.servlet.InfoServlet.doPost(InfoServlet.java:117)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:648)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:291)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at veh_info.EncodingFilter.doFilter(EncodingFilter.java:46)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:142)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:518)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1091)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:673)
at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.doRun(AprEndpoint.java:2503)
at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:2492)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Unknown Source)

我的InfoDao:69行:  ps.setString(1, infoid);
/**
 * 根据id查询信息
 * @param infoid
 * @return
 */
public List<Info> searchInfoById(String infoid ,int begin,int end) {
    List<Info> infolist = new ArrayList<Info>();
    try {
        con = JDBCUtil.getConnections(con);
        String sql = "select * from veh_info ";
        if(infoid != null && !"".equals(infoid)){
              sql += " where id = ? ";
          }
        sql +=" order by id LIMIT "+begin+","+end+"";
        ps = con.prepareStatement(sql);
        ps.setString(1, infoid);
        rs = ps.executeQuery();
        while(rs.next()){
            Info info =new Info();
            info.setId(rs.getString("id"));
            info.setDriver(rs.getString("driver"));
            info.setType(rs.getString("type"));
            info.setPlateNo(rs.getString("plateNo"));
            info.setLoad(rs.getFloat("load"));
            info.setPhone(rs.getString("phone"));
            infolist.add(info);
        }       
    } catch (SQLException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }finally {
        JDBCUtil.close(rs, stat, ps, con);
    }

    return infolist;
}

InfoServlet:
61行:List<Info> infolist = dao.searchInfoById(idStr,(gopage-1)*6,rows);
117行:doGet(request, response);

    at veh_info.EncodingFilter.doFilter(EncodingFilter.java:46):
            chain.doFilter(request, response);
  • 写回答

1条回答

  • 枣树芽 2016-08-15 09:44
    关注

    infoid 是空吧,呵呵

    评论

报告相同问题?

悬赏问题

  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集
  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
  • ¥15 电力市场出清matlab yalmip kkt 双层优化问题
  • ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)
  • ¥20 matlab yalmip kkt 双层优化问题
  • ¥15 如何在3D高斯飞溅的渲染的场景中获得一个可控的旋转物体
  • ¥88 实在没有想法,需要个思路
  • ¥15 MATLAB报错输入参数太多
  • ¥15 python中合并修改日期相同的CSV文件并按照修改日期的名字命名文件