我得到的findbug警告就像"准备好的声明是从一个非常常的字符串"。我的Scenerio中生成的
//My code
public static int updateSQL(String sql) throws StoreException {
PreparedStatement statement = null;
statement = connection.prepareStatement(sql); //shows violation here
}
我得到" sql"通过方法论证。如何纠正这个警告?请帮我解决这个问题。
答案 0 :(得分:0)
嗯,在这种情况下,我建议忽略这个警告。它的优先级较低。针对此特定错误模式的低优先级报告实际上主要是垃圾邮件。我认为不应该报告,因为FindBugs能够更进一步,看看updateSQL
方法是否总是用常量字符串调用(在这种情况下你没有问题)或者不是(在这种情况下是特定的地方)其中将使用非常量字符串报告)。我向我们的跟踪器提交了bug report。
答案 1 :(得分:0)
我认为这不是一个严重的警告。在尝试使用部分动态的SQL查询时,我得到了相同的警告(随情况而变化)。没有避免这种情况的正确方法。所以你可以避免它。