MySQLSyntaxErrorException
在更新数据库时,我一直在获取信息。
这是错误的堆栈跟踪:
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:您的SQL语法有错误;检查与您的MySQL服务器版本对应的手册以获取正确的语法,以在sun的第1行的'。,?,?,?,?,?,?,?,?)'附近使用sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) com.mysql上的java.lang.reflect.Constructor.newInstance(Constructor.java:423)上的sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)上的.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)。 com.mysql的jdbc.Util.handleNewInstance(Util.java:411)com.mysql的jdbc.Util.getInstance(Util.java:386)com.mysql的jdbc.SQLError.createSQLException(SQLError.java:1053) .jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4120)位于com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO。
这是我的代码。
String sql = "INSERT INTO studentDB (id, name, grade, avg, test1, test2, test3) "
+ "VALUES (?, ?, ?, ?, ?, ?, ?)";
stmt.execute(sql);
PreparedStatement preparedStatement = conn.prepareStatement(sql);
preparedStatement.setInt(1, id);
preparedStatement.setString(2, name);
preparedStatement.setString(3, grade);
preparedStatement.setDouble(4, avg);
preparedStatement.setDouble(5, test1);
preparedStatement.setDouble(6, test2);
preparedStatement.setDouble(7, test3);
preparedStatement.executeUpdate();
您的例外来自stmt.execute(sql);
,将其删除。您似乎正确地使用了PreparedStatement
after(但是由于前面提到的stmt.execute(sql)
尝试在未设置绑定参数的情况下尝试运行查询),因此未达到您的代码。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句