java.sql.SQLException:参数索引超出范围(1>参数个数,即0-

问题描述 投票:2回答:2
String productName = request.getParameter("productName");
int productPrice = Integer.parseInt(request.getParameter("productPrice"));

String query = " INSERT INTO PRODUCTS values(?,?,?)";
PreparedStatement pst = (PreparedStatement) con.prepareStatement("query");
int i = 1;

pst.setInt(1, i);
pst.setString(2, productName);
pst.setInt(3, productPrice);
i++;
pst.executeUpdate(query);
con.close();
java mysql jdbc
2个回答
3
投票

更改

PreparedStatement pst = (PreparedStatement) con.prepareStatement("query");

PreparedStatement pst = (PreparedStatement) con.prepareStatement(query);

请注意,您需要传递实际的query变量而不是“查询”字符串

正如Mark所说:另外pst.executeUpdate(query)需要改为pst.executeUpdate()


0
投票

尝试指定要插入的列名称

    String query = "INSERT INTO tablename (col1, col2, col3) VALUES (?, ?, ?)";
     preparedStatement = connection.prepareStatement(query);
© www.soinside.com 2019 - 2024. All rights reserved.