mysql - 无法将数据插入数据库

标签 mysql sql jdbc

事情就是这样

ps = conn.prepareStatement("INSERT INTO goods_country(goodsId,goodsCountry) VALUES (?,?)");
ps.setInt(1, this.returnId());
ps.setString(2, goodsCountry);
int exe = ps.executeUpdate();

我确信 this.returnId()goodsCountry 有值(value), 当运行此代码时出现此错误

java.sql.SQLException: Parameter index out of range (1 > number of parameters, which is 0). at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:963) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:896) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:885) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:860) at com.mysql.jdbc.PreparedStatement.checkBounds(PreparedStatement.java:3321) at com.mysql.jdbc.PreparedStatement.setInternal(PreparedStatement.java:3306) at com.mysql.jdbc.PreparedStatement.setInternal(PreparedStatement.java:3345) at com.mysql.jdbc.PreparedStatement.setInt(PreparedStatement.java:3296) at com.backend.model.MoviesBeanBO.inserCountry(MoviesBeanBO.java:67) at com.backend.controller.MovieOnBoard.doPost(MovieOnBoard.java:71) at javax.servlet.http.HttpServlet.service(HttpServlet.java:646) at javax.servlet.http.HttpServlet.service(HttpServlet.java:727) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:25)

不明白发生了什么, 如果有人可以提供帮助,我将非常感激。谢谢!

最佳答案

尝试删除值和问号之间的空格

    ps = conn.prepareStatement("INSERT INTO goods_country(goodsId,goodsCountry) VALUES(?,?)");
    ps.setInt(1, this.returnId());
    ps.setString(2, goodsCountry);
    int exe = ps.executeUpdate();

或者需要检查驱动jar文件。

关于mysql - 无法将数据插入数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37315873/

相关文章:

php - 将查询插入在线 MySQL 数据库不起作用

java - 如何在Postgresql JDBC中的PreparedStatement中添加参数而无需手动设置类型

java - 通过Applet连接到远程数据库

java - JDBC 第一次访问异常

MySQL CASE 逆向工作

php - UPDATE SQL 查询显示成功,但表中没有任何更新

sql - MYSQL if语句(来自mysql newb)

php - 另一个有 mysqli 问题的初学者

sql - SQLite:从两个相关的列中获取模态/模式

java - 优化循环更新请求