PreparedStatementクエリで無効なカラムインデックスについて
PreparedStatementの使用 Oracleデータベースのみのクエリーは ps.setObject(i, values[i]);常に無効なカラムインデックスを求める
その後、ネット上でpsだったパラメータが0からではなく1から始まり、無効なカラムインデックスがすべて受信され、 ps.setObject(i+1, values[i]);これでOKです.また、ネット上で同じような問題が発生している人もいますが、私のような問題ではなく、下付きの数と?の数が一致しないか、それとも?書いたの?
public List queryForBeans(final String sql, final Object... values) {
Connection connection = null;
try {
connection = super.getDataSource().getConnection();
PreparedStatement ps = connection.prepareStatement(sql, ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);
if (values != null) {
for (int i = 0; i < values.length; i++) {
ps.setObject(i, values[i]);
}
}
ResultSet rs = ps.executeQuery();
RowSetDynaClass rsdc = new RowSetDynaClass(rs);
rs.close();
ps.close();
return rsdc.getRows();
} catch (SQLException ex) {
throw this.getExceptionTranslator().translate("", sql, ex);
} finally {
this.close(connection);
}
}
その後、ネット上でpsだったパラメータが0からではなく1から始まり、無効なカラムインデックスがすべて受信され、 ps.setObject(i+1, values[i]);これでOKです.また、ネット上で同じような問題が発生している人もいますが、私のような問題ではなく、下付きの数と?の数が一致しないか、それとも?書いたの?