我需要保存数据至SQL2000,但程序出错啦,不知错在哪里,请各位高手帮忙指定一下原因和解决办法。出错程序如下:
org.apache.jasper.JasperException: An exception occurred processing JSP page /add_sq.jsp at line 154151:  pstmt.setBoolean(16,cnxy);
152:  pstmt.setString(17,file1);
153:  }
154:  pstmt.executeUpdate() ;
155: %>
156: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
157: <html xmlns="http://www.w3.org/1999/xhtml">
Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:505)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:398)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
root cause javax.servlet.ServletException: java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Invalid parameter binding(s).
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:852)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:781)
org.apache.jsp.add_005fsq_jsp._jspService(add_005fsq_jsp.java:263)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
root cause java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Invalid parameter binding(s).
com.microsoft.jdbc.base.BaseExceptions.createException(Unknown Source)
com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)
com.microsoft.jdbc.base.BasePreparedStatement.validateParameters(Unknown Source)
com.microsoft.jdbc.base.BasePreparedStatement.validateParameters(Unknown Source)
com.microsoft.jdbc.base.BasePreparedStatement.preImplExecute(Unknown Source)
com.microsoft.jdbc.base.BaseStatement.commonExecute(Unknown Source)
com.microsoft.jdbc.base.BaseStatement.executeUpdateInternal(Unknown Source)
com.microsoft.jdbc.base.BasePreparedStatement.executeUpdate(Unknown Source)
org.apache.jsp.add_005fsq_jsp._jspService(add_005fsq_jsp.java:240)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
note The full stack trace of the root cause is available in the Apache Tomcat/6.0.18 logs.

解决方案 »

  1.   

    Invalid parameter binding
    绑定参数非法看看set的参数是否从1开始的
      

  2.   

    151: pstmt.setBoolean(16,cnxy);
    152: pstmt.setString(17,file1);参数够多的
      

  3.   

    看看set的参数是从1开始的,总共17个参数,存一个申请表。但只存一个参数,也出现这个错误。怎么检查错出在哪里,是什么原因?