mysql-Parameterindexoutofrange好心人求解决在线等急
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了mysql-Parameterindexoutofrange好心人求解决在线等急,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含7296字,纯文字阅读大概需要11分钟。
内容图文
mysqlarameter代码如下 求解哪里错误
package com.pact.mobilestore;
import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
public class openorder extends HttpServlet {
/**
- */private static final long serialVersionUID = 1L;
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// 统一编码格式
request.setCharacterEncoding("UTF-8");
response.setContentType("text/html; charset=UTF-8");
Connection conn = null; // 连接对象PreparedStatement preparedStatement = null;HttpSession session = request.getSession();Object obj = session.getAttribute("currId");String UId = (String) obj;String option = request.getParameter("option");int op =Integer.parseInt(option); switch(op) { case 0: try { Class.forName("com.mysql.jdbc.Driver"); String url = "jdbc:mysql://localhost:3306/mobilestore"; String userName = "root"; String pass = "root"; conn = DriverManager.getConnection(url, userName, pass); String sql = "select * from `order` where UId =?"; preparedStatement = conn.prepareStatement(sql); preparedStatement.setString(1, UId); java.sql.ResultSet rs = preparedStatement.executeQuery(); List list = new ArrayList(); while (rs.next()) { Entery4 ent4 = new Entery4(); String OId = rs.getString("OId"); String Date = rs.getString("Date"); String payDate = rs.getString("payDate"); String Total = rs.getString("Total"); // 购买的数量 String state = rs.getString("state"); ent4.setOId(OId); ent4.setUserId(UId); ent4.setDate(Date); ent4.setPayDate(payDate); ent4.setTotal(Total); ent4.setState(state); list.add(ent4); } rs.close(); request.setAttribute("info", list); } catch (SQLException e) { // TODO: handle exception e.printStackTrace(); } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } finally { try { preparedStatement.close(); conn.close(); } catch (Exception e2) { // TODO: handle exception } } request.getRequestDispatcher("myorder.jsp").forward(request, response); break; case 1: try { Class.forName("com.mysql.jdbc.Driver"); String url = "jdbc:mysql://localhost:3306/mobilestore"; String userName = "root"; String pass = "root"; conn = DriverManager.getConnection(url, userName, pass); String sql = "select * from `order` where UId = ?and state =?"; preparedStatement = conn.prepareStatement(sql); preparedStatement.setString(1, UId); preparedStatement.setString(2, "未支付"); java.sql.ResultSet rs = preparedStatement.executeQuery(); List list = new ArrayList(); while (rs.next()) { Entery4 ent4 = new Entery4(); String OId = rs.getString("OId"); String Date = rs.getString("Date"); String payDate = rs.getString("payDate"); String Total = rs.getString("Total"); // 购买的数量 String state = rs.getString("state"); ent4.setOId(OId); ent4.setUserId(UId); ent4.setDate(Date); ent4.setPayDate(payDate); ent4.setTotal(Total); ent4.setState(state); list.add(ent4); } rs.close(); request.setAttribute("info", list); } catch (SQLException e) { // TODO: handle exception e.printStackTrace(); } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } finally { try { preparedStatement.close(); conn.close(); } catch (Exception e2) { // TODO: handle exception } } request.getRequestDispatcher("myorder1.jsp").forward(request, response); break; case 2: try { Class.forName("com.mysql.jdbc.Driver"); String url = "jdbc:mysql://localhost:3306/mobilestore"; String userName = "root"; String pass = "root"; conn = DriverManager.getConnection(url, userName, pass); String sql = "select * from `order` where UId = ? and state =?"; preparedStatement = conn.prepareStatement(sql); preparedStatement.setString(1, UId); preparedStatement.setString(2, "已支付"); java.sql.ResultSet rs = preparedStatement.executeQuery(); List list = new ArrayList(); while (rs.next()) { Entery4 ent4 = new Entery4(); String OId = rs.getString("OId"); String Date = rs.getString("Date"); String payDate = rs.getString("payDate"); String Total = rs.getString("Total"); // 购买的数量 String state = rs.getString("state"); ent4.setOId(OId); ent4.setUserId(UId); ent4.setDate(Date); ent4.setPayDate(payDate); ent4.setTotal(Total); ent4.setState(state); list.add(ent4); } rs.close(); request.setAttribute("info", list); } catch (SQLException e) { // TODO: handle exception e.printStackTrace(); } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } finally { try { preparedStatement.close(); conn.close(); } catch (Exception e2) { // TODO: handle exception } } request.getRequestDispatcher("myorder2.jsp").forward(request, response); break;
// default:
// System.out.println("default");
// break;
}
}
public void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException { doPost(req, resp); }
}
错误提示截取
java.sql.SQLException: Parameter index out of range (2 > number of parameters, which is 1).
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:910)
at com.mysql.jdbc.PreparedStatement.setInternal(PreparedStatement.java:2715)
at com.mysql.jdbc.PreparedStatement.setString(PreparedStatement.java:3546)
at com.pact.mobilestore.openorder.doPost(openorder.java:56)
at com.pact.mobilestore.openorder.doGet(openorder.java:221)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:723)
内容总结
以上是互联网集市为您收集整理的mysql-Parameterindexoutofrange好心人求解决在线等急全部内容,希望文章能够帮你解决mysql-Parameterindexoutofrange好心人求解决在线等急所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。