我有以下代码
public void savePosition(String positionName) {
String sqlStatement = "INSERT INTO positions (name) VALUES (?)";
try (
Connection connection = getConnection();
PreparedStatement preparedStatement = connection.prepareStatement(sqlStatement);
preparedStatement.setString(1, positionName);
preparedStatement.executeUpdate();
){
} catch (SQLException e) {
e.printStackTrace();
}
}
附近有语法错误,; 。在setString和executeUpdate行中。
这一行
preparedStatement.setString(1, positionName);
我有
令牌上的语法错误"。",@ expected
令牌上的语法错误"," ,.预期
令牌上的语法错误";",删除此令牌
我看不出它有什么问题。
答案 0 :(得分:5)
您已将整个try语句放入了仅用于初始化可关闭资源的部分。你想要:
// This part is initializing resources
try (Connection connection = getConnection();
PreparedStatement preparedStatement = connection.prepareStatement(sql)) {
// This part is just statements
preparedStatement.setString(1, positionName);
preparedStatement.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
}