SPRING jdbcTemplate.update java.sql.SQLException:没有为参数

时间:2015-04-25 18:40:49

标签: spring jdbc jdbctemplate

我已经解决了这个问题,但我只是想知道为什么jdbcTemplate不接受我的jdbcTemplate.update查询但是使用jdbcTemplate.execute,这里是坐标示例的代码:

String query = "UPDATE geodomaindocument SET latitude=? , longitude=?  WHERE url=?";
Object[] values = new Object[]{0,0,"http://example.com"}
jdbcTemplate.update(query, values);

返回此例外:

org.springframework.jdbc.BadSqlGrammarException: PreparedStatementCallback; bad SQL grammar [UPDATE geodomaindocument SET latitude=? , longitude=?  WHERE url=?]; nested exception is java.sql.SQLException: No value specified for parameter 2

但是使用相同的查询,但执行:

 query = "UPDATE geodomaindocument SET latitude='"+values[0]+"', longitude='"+values[1]+"' WHERE url='http://example.com'";
jdbcTemplate.execute(query);
事先得到任何帮助。

更新 好吧,我只是愚蠢,这是一个简单的索引错误。

1 个答案:

答案 0 :(得分:0)

您的纬度和经度是字符串类型。试试这个

Object[] values = new Object[]{"0","0","http://example.com"}