Jdbc 使用参数在数据库中插入准备好的语句

Jdbc 使用参数在数据库中插入准备好的语句,jdbc,insert,prepared-statement,Jdbc,Insert,Prepared Statement,在我的代码中,我使用准备好的语句插入7个参数: connection.prepareStatement(insertTableSQL); preparedStatement.setString(1,"31/07/12"); preparedStatement.setInt(2, 1); preparedStatement.setInt(3, 2); preparedStatement.setInt(4, 3); preparedStatement.setInt(5, 4); preparedSt

在我的代码中,我使用准备好的语句插入7个参数:

connection.prepareStatement(insertTableSQL);
preparedStatement.setString(1,"31/07/12");
preparedStatement.setInt(2, 1);
preparedStatement.setInt(3, 2);
preparedStatement.setInt(4, 3);
preparedStatement.setInt(5, 4);
preparedStatement.setInt(6, 4);
preparedStatement.setFloat(7, 6);
preparedStatement.executeUpdate();
它实际上是这样工作的,并且插入了行,但是每当我尝试将参数绑定到变量时,例如:

int i = 1;
preparedStatement.setInt(6, i);
它在执行期间不工作,线程无休止地等待,没有错误,也没有插入行。 但是,如果行已经存在,我仍然会得到一个异常唯一约束。 我做错什么了吗


谢谢。

能否提供一个更完整的失败代码示例。在完整的上下文中查看它可能会有所帮助。还有,你说色拉在无休止地等待。我想你是说上面的一个JDBC调用没有返回到应用程序?如果这是一个错误的假设,那么你能解释一下到底在等待什么吗?嗨,布鲁斯,我发现了这个问题。我的桌子不知怎么被锁上了,所以我所描述的行为只是巧合,我想很高兴你发现了问题。如果您正在使用的JDBC驱动程序支持QueryTimeout,那么您可能需要设置它,以便您的应用程序在等待表锁清除时不会无限期地等待操作完成。