【发布时间】:2017-06-22 19:21:46
【问题描述】:
奇怪的 JDBC TEMPLATE 错误。
当您使用下面的代码对表执行更新时,我收到以下错误:
Org.springframework.jdbc.BadSqlGrammarException: PreparedStatementCallback;不正确的 SQL 语法 [UPDATE adminformulariocontratacao SET statusatual =? WHERE (formulariouuid =?)];嵌套异常是 java.sql.SQLException: No value specified for parameter 2
public void atualizaStatusAtendimentoContratacao(String formulariouuid,String statusGravar) {
final String query = "UPDATE adminformulariocontratacao "
+ "SET statusatual = ? "
+ "WHERE (formulariouuid = ?)";
Object argsAtualizaStatus = new Object[] {
statusGravar,
formulariouuid
};
try {
jdbcTemplate.update(query, argsAtualizaStatus);
} catch (DataAccessException e) {
logger.log(Level.ERROR,
"##ERRO ao Gravar atualização de status do atendimento contratacao:" + e.getLocalizedMessage());
}
当我按照下面的修改运行代码时,它可以正常工作。有什么区别?
public void atualizaStatusAtendimentoContratacao(String formulariouuid,String statusGravar) {
final String query = "UPDATE adminformulariocontratacao "
+ "SET statusatual = ? "
+ "WHERE (formulariouuid = ?)";
try {
jdbcTemplate.update(query, new Object[] {statusGravar,formulariouuid});
} catch (DataAccessException e) {
logger.log(Level.ERROR,
"##ERRO ao Gravar atualização de status do atendimento contratacao:" + e.getLocalizedMessage());
}
}
【问题讨论】:
标签: spring spring-mvc jdbctemplate