准备好的语句参数索引超出范围(0 <1)

编程入门 行业动态 更新时间:2024-10-26 02:28:32
本文介绍了准备好的语句参数索引超出范围(0 <1)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

不是Web应用程序专家,最近我正在使用servlet为我的移动应用程序编写一个小型Webapp.我的日程安排是从客户端接收数据,并将其放入db中.一切都运行良好,除了我的数据库insert语句,该语句正在尝试使用PreparedStatement实现.

Am not expert on web application, recently am writing a small webapp for my mobile app using servlets. My agenda is to receive data from client, and to put it into db. everything is running fine except, my database insert statement,which am trying to achieve using PreparedStatement.

// This is how my insert statement looks like private String INSERT_INTO_DEVICES = "INSERT INTO travlemate.devices (owner," + "deviceid,gcmid) VALUES (?,?,?)"; // This is how am trying to insert PreparedStatement preparedStmt = mConn.prepareStatement(INSERT_INTO_DEVICES); preparedStmt.setString(0, data.getDeviceNumber()); preparedStmt.setString(1, data.getDeviceID()); preparedStmt.setString(2,data.getGcmId()); preparedStmt.execute(); mConn.close();

但是在执行此任务时,正在接收以下异常

but while executing this task, am receiving following exception

java.sql.SQLException: Parameter index out of range (0 < 1 ). at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:910) at com.mysql.jdbc.PreparedStatement.setInternal(PreparedStatement.java:2791) at com.mysql.jdbc.PreparedStatement.setString(PreparedStatement.java:3627) at com.mkgcorp.travelweb.data.DataManager.registerGCMData(DataManager.java:35) at com.mkgcorp.travelweb.controller.Loader.doPost(Loader.java:46) at javax.servlet.http.HttpServlet.service(HttpServlet.java:644) at javax.servlet.http.HttpServlet.service(HttpServlet.java:725) 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 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:501) 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:610) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:537) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1085) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:658) at org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:222) at org.apache.tomcat.util.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1556) at org.apache.tomcat.util.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1513) 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)

我认真尝试了各种有能力的事情,但是这种例外不会消失,在同一点上有什么想法吗?

I seriously tried all sorts of thing which am capable of, but this exception is not going away, any idea on same?

谢谢, 技术人员

推荐答案

PreparedStatement参数索引从1

preparedStmt.setString(1, data.getDeviceNumber()); ...

更多推荐

准备好的语句参数索引超出范围(0 <1)

本文发布于:2023-10-18 10:37:40,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1503986.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:语句   索引   参数   lt

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!