me he encontrado con los siguientes códigos creo que está haciendo las cosas mal:PreparedStatement setString (...) para todos, incluso si corrsponding tipo de datos es un entero
(Tenga en cuenta que esto es JDK 1.4.2 , por lo tanto, la lista no se escribe)
StringBuffer queryBuffer = new StringBuffer();
ArrayList temp = new ArrayList();
...
queryBuffer.append("and sb.POSTCODE = ? ");
temp.add(postcode);
...
conn = ConnectionManager.getConnection();
pstmt = conn.prepareStatement(queryBuffer.toString());
Esto es lo que me preocupa:
for(int i=0; i<temp.size(); i++) {
log.debug("setString("+ (i+1) + "," + (String)temp.get(i) + ")");
pstmt.setString(i+1, (String)temp.get(i));
}
Pero he observado que algunos de los tipos de datos correspondientes (de campo) en la base de datos son números enteros, y fechas, esto estaría bien?
No creo que sea bueno. Parece que se basa en la conversión implícita, y que a menudo conduce a la pena en el futuro. – Glenn
Supongo que 'temp' es una' Lista' - ¿está escrito genéricamente? Por favor, muestre su declaración. –
@Paul Bellora temp es una ArrayList. Y no está escrito porque es Java 1.4 –