布衣王子

          Email:roose2008@gmail.com QQ:79212131

          關(guān)于Parameter index out of range求解決辦法

          程序:
          提示參數(shù)越界,但我實(shí)在不知道我到底哪里越界了。明明該我那樣寫的嘛。求高手幫我看看,
          現(xiàn)在我是弄得我有氣無(wú)力了!要死了。在去死亡的路上等著你幫幫我!
          <%--
              Document   : replyok
              Created on : 2008-9-29, 6:05:31
              Author     : Administrator
          --%>
          <%@page contentType="text/html" pageEncoding="gbk"%>
          <%@ page import = "java.sql.*"%>
          <%
                      int sid = Integer.parseInt(request.getParameter("id"));
                      String title = request.getParameter("title");
                      String text = request.getParameter("text");
                      Connection conn = null;
                      PreparedStatement pstat = null;
                      ResultSet rs = null;
                      String sqlstr = "insert into bbsrecord (id,root,sid,leaf,title,text,time) values(null,0.?,1,?,?,now())";//為什么呢?
                      Class.forName("com.mysql.jdbc.Driver");
                      String url = "jdbc:mysql://127.0.0.1:3306/test?user=root&password=159753";
                      conn = DriverManager.getConnection(url);
                      pstat = conn.prepareStatement("sqlstr");
                      pstat.setInt(1,sid);
                      pstat.setString(2, title);
                      pstat.setString(3,text);                    //為什么呢?
                      pstat.executeUpdate();

                      pstat.close();
                      Statement stattwo = conn.createStatement();
                      stattwo.execute("update bbsrecord set leaf=0 where id= " + sid);
                      stattwo.close();
                      conn.close();
          %>
          <html>
              <head>
                  <meta http-equiv="Content-Type" content="text/html; charset=gbk">
                  <title>replyok</title>
              </head>
              <body>
                  <h2><%= "ok"%></h2>
              </body>
          </html>
          錯(cuò)誤報(bào)告:

          type Exception report

          message

          description The server encountered an internal error () that prevented it from fulfilling this request.

          exception

          org.apache.jasper.JasperException: An exception occurred processing JSP page /replyok.jsp at line 20
          17:             String url = "jdbc:mysql://127.0.0.1:3306/test?user=root&password=159753";
          18:             conn = DriverManager.getConnection(url);
          19:             pstat = conn.prepareStatement("sqlstr");
          20:             pstat.setInt(1,sid);
          21:             pstat.setString(2, title);
          22:             pstat.setString(3,text);
          23:             pstat.close();
          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:337)
          org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
          javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
          

           

          root cause

          javax.servlet.ServletException: java.sql.SQLException: Parameter index out of range (1 > number of parameters, which is 0).
          org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:850)
          org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:779)
          org.apache.jsp.replyok_jsp._jspService(replyok_jsp.java:96)
          org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
          javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
          org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
          org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:337)
          org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
          javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
          

           

          root cause

          java.sql.SQLException: Parameter index out of range (1 > number of parameters, which is 0).
          com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1056)
          com.mysql.jdbc.SQLError.createSQLException(SQLError.java:957)
          com.mysql.jdbc.SQLError.createSQLException(SQLError.java:927)
          com.mysql.jdbc.PreparedStatement.checkBounds(PreparedStatement.java:3279)
          com.mysql.jdbc.PreparedStatement.setInternal(PreparedStatement.java:3263)
          com.mysql.jdbc.PreparedStatement.setInternal(PreparedStatement.java:3305)
          com.mysql.jdbc.PreparedStatement.setInt(PreparedStatement.java:3249)
          org.apache.jsp.replyok_jsp._jspService(replyok_jsp.java:69)
          org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
          javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
          org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
          org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:337)
          org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
          javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
          

           

          note The full stack trace of the root cause is available in the Apache Tomcat/6.0.16 logs.


          Apache Tomcat/6.0.16

          posted on 2008-09-29 23:14 草包書生 閱讀(38575) 評(píng)論(8)  編輯  收藏

          評(píng)論

          # re: 關(guān)于Parameter index out of range已經(jīng)耗費(fèi)我一天的時(shí)間了,跪求解決辦法 2008-09-30 00:23 草包書生

          問(wèn)題已解決,
          pstat = conn.prepareStatement("sqlstr"); 這一句字符串多加了一個(gè)雙引號(hào),就多耗費(fèi)了我一天的時(shí)間,苦笑不得。
          大家引以為鑒  回復(fù)  更多評(píng)論   

          # re: 關(guān)于Parameter index out of range已經(jīng)耗費(fèi)我一天的時(shí)間了,跪求解決辦法 2008-09-30 09:18 R_XiaoGuang

          為什么你吧java代碼都寫得頁(yè)面上呢!
          想不明白!  回復(fù)  更多評(píng)論   

          # re: 關(guān)于Parameter index out of range已經(jīng)耗費(fèi)我一天的時(shí)間了,跪求解決辦法 2008-09-30 13:34 草包書生

          @R_XiaoGuang
          剛學(xué)j2ee,對(duì)serverlet還不熟悉,所以。。。。。  回復(fù)  更多評(píng)論   

          # re: 關(guān)于Parameter index out of range求解決辦法 2008-12-07 17:21 can

          我也正是和你同樣問(wèn)題困擾著啊,還有,你現(xiàn)在知道你上面的那兩個(gè)為什么怎么解釋了嗎,知道的話,說(shuō)說(shuō)吧,都不清楚啊,新手新手,拜托拜托  回復(fù)  更多評(píng)論   

          # re: 關(guān)于Parameter index out of range求解決辦法 2009-05-19 15:19 icoo

          pstat = conn.prepareStatement("sqlstr");
          pstat.setInt(1,sid);
          pstat.setString(2, title);
          pstat.setString(3,text); //為什么呢?
          pstat.executeUpdate();
          需要加try/catch包圍

          Parameter index out of range (1 > number of parameters, which is 0).
          你的Parameter值超出了
          解決方法:
          修改my.ini,將
          sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
          改為
          sql-mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
          重新啟動(dòng)MySQL。
            回復(fù)  更多評(píng)論   

          # re: 關(guān)于Parameter index out of range求解決辦法 2012-08-17 15:37 藍(lán)血人

          哎 我的是?是漢字時(shí)候的?,搞了半天都沒(méi)弄出來(lái),終于發(fā)現(xiàn)了~~~  回復(fù)  更多評(píng)論   

          # 求解決? 2013-10-27 11:00 assd

          Parameter index out of range (4 > number of parameters, which is 3)求解決方案?  回復(fù)  更多評(píng)論   

          # re: 關(guān)于Parameter index out of range求解決辦法 2013-12-30 19:31 1231

          ?的索引是從0開(kāi)始  回復(fù)  更多評(píng)論   


          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           

          導(dǎo)航

          常用鏈接

          相冊(cè)

          java的相關(guān)連接

          最新評(píng)論

          主站蜘蛛池模板: 金乡县| 本溪市| 嘉禾县| 桑日县| 太湖县| 祁阳县| 石家庄市| 永嘉县| 浦东新区| 奉节县| 金塔县| 芒康县| 锦屏县| 新丰县| 鄄城县| 普陀区| 莱西市| 卢湾区| 石家庄市| 博野县| 乡城县| 桓台县| 温泉县| 兴安县| 甘孜| 商河县| 略阳县| 仁化县| 额济纳旗| 衡阳县| 历史| 金坛市| 呈贡县| 石嘴山市| 淮南市| 清流县| 平度市| 安溪县| 沁阳市| 淮北市| 嘉荫县|