2016-05-19 161 views
0

這裏是東西不能插入數據到數據庫

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具有價值, 當運行出現此錯誤

java.sql.SQLException中的驗證碼:參數索引超出範圍(1>參數數量,即0)。 在com.mysql.jdbc.SQLError.createSQLException(SQLError.java:963) 在com.mysql.jdbc.SQLError.createSQLException(SQLError.java:896) 在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。在com.backend上的com.mysql.jdbc.PreparedStatement.setInt(PreparedStatement.java:3296) 上設置setInternal 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) 在org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) 在org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) 在過濾器.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:25)

不知道發生了什麼, 如果有人可以幫忙,我會非常感激。謝謝!

+1

在代碼中看不到錯誤。你使用的是哪個版本的jdbc驅動程序?也許你可以驗證如果你使用另一個驅動程序版本時出現這個錯誤 – ZeusNet

+0

嘗試刪除值和(?,?)之間的空格 –

回答

0

嘗試值和問號

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

或驅動程序jar文件需要被檢查之間移除空間。