我之前看过这里,但没有一个答案帮助我! 我有以下代码:
google.charts.load('current', {packages:['corechart'],'language': 'de'});
在我的数据库方案中,有2列,第一列是整数(id),第二列是VARCHAR(45)(串行)。但我仍然收到以下错误:
java.sql.SQLException:参数索引超出范围(2>参数个数,为0)。
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:964) 在com.mysql.jdbc.SQLError.createSQLException(SQLError.java:897) 在com.mysql.jdbc.SQLError.createSQLException(SQLError.java:886) 在com.mysql.jdbc.SQLError.createSQLException(SQLError.java:860) 在com.mysql.jdbc.PreparedStatement.checkBounds(PreparedStatement.java:3321) 在com.mysql.jdbc.PreparedStatement.setInternal(PreparedStatement.java:3306) 在com.mysql.jdbc.PreparedStatement.setString(PreparedStatement.java:4021) 在DataBase.SerialDataBase.addSerialToDb(SerialDataBase.java:41)
我在另一个程序中使用了这个方法,但是由于切换到IntelliJ,它停止了工作。
提前致谢!
修改 我忘了提,我正在使用Java 1.8,mySql连接器5.1.40并运行MySql 5.7.15
答案 0 :(得分:1)
根据你的评论 getMaxInt()方法,问题是因为prepare语句对象。它已在 getMaxInt()方法中更新,并且参数不匹配错误发生。我认为它的程序逻辑错误,你只需要改变这个程序逻辑。如果不需要,我还建议不要连接字符串。
下面就可以了。
pst = con.prepareStatement("INSERT INTO blogdata.serials (column1,column2) VALUES (?,?)";
答案 1 :(得分:0)
尝试使用如下的insert语句:
"INSERT INTO blogdata.serials (column1,column2) VALUES (?,?)";