使用jdbcTemplate执行不带参数的SQL语句时,遇到“ java.sql.SQLException:无效的列索引”。

时间:2018-11-29 07:26:23

标签: java jdbctemplate sqlexception

我有如下代码:

public class InspectDaoImpl extends JdbcDaoSupport{
    ...
    public ShiftTime getShiftTime(){
        String sql = "";
        ...//Only for assigning value to sql, it will be seen in exception stack trace. 
        Map<String, Object> map = this.getJdbcTemplate().queryForMap(sql, "oracle");//Error occured here. 
        ...
    }
    ...
}

当我调用此方法时,它会以java.sql.SQLException: Invalid column index的形式发布错误。
主要的堆栈跟踪是这样,它包含我的SQL语句:

  

由以下原因造成:org.springframework.jdbc.InvalidResultSetAccessException:PreparedStatementCallback; SQL无效的ResultSet访问[
                  选择*来自
                  (SELECT * FROM shifttime ORDER BY id DESC)
                  WHERE rownum = 1

          ];嵌套的异常是java.sql.SQLException:无效的列索引

我正在搜索此异常,但是这些条件与我的情况都不同。

没有像“?”这样的占位符。在我的SQL语句中,为什么会发生此错误?

0 个答案:

没有答案