您需要调用preparedStatement.executeUpdate()
(不带参数sql
)。
您调用了method PreparedStatement.executeUpdate(String sql)
,根据JDBC规范,该方法是非法的。再次传递sql语句实际上没有任何意义,因为在创建PreparedStatement对象时已经传递了它。即使以为您传递了相同的字符串,调用此方法也不合法。调用方法是不合法的:-)有点奇怪,但这就是事实。在这种情况下,所有符合标准的JDBC驱动程序都需要引发异常。
但是我同意错误消息是神秘的。