1. 程式人生 > >java.sql.SQLException: 無效的列索引

java.sql.SQLException: 無效的列索引

“無效的列索引”其實是個低階的錯誤,原因無非幾個:

1、sql串的?號數目和提供的變數數目不一致:

例如:jdbcTemplate.update(sql, new Object[]{newState,oldState});

如果sql裡面有1個?號,Object[]送了2個,就會報錯。

2、sql串裡的?號書寫不正確

英文?和中文?有時難以區分。

3、sql串的?號用”括了起來。

例如:sql=”UPDATE abc SET abc.name=’?’ WHERE abc.id=’?’”;

把”去掉就可以了。

4,遇到這種情況select*from userwhere info like %?%;

雖然這是sql的寫法,但是在jdbc 中需要改成 select*from userwhere info like ?;
如ps.setString(1,“%”+value+“%”);