PreparedStatement

casi416
20 de Septiembre del 2002
Este es un típico ejemplito de uso de PreparedStatement:

ps = con.prepareStatement("INSERT INTO BONUS VALUES (? , ?)");
ps.setString(1, socsec);
ps.setDouble(2, bonus);
ps.executeUpdate();

Mi duda es, ¿en los valores podría meter algo literal como por ejemplo:

ps = con.prepareStatement(
"INSERT INTO BONUS VALUES (TRUNC(SYSDATE), ?)");
ps.setDouble(1, bonus);
ps.executeUpdate();

... o eso no está permitido? Si no lo sabeis ¿donde podría enterarme? Si ésto no es problema que significa un error con JDBC "lleva por título": "ORA-02289: sequence does not exist"? Muchas gracias.

klonic
20 de Septiembre del 2002
En el prepareStatement puedes poner cualquier sentencia SQL válida para el SGBD que utilices. TRUNC(sysdate) creo que es una función sólo para Oracle. Si estás utilizando otro SGBD tendrás que buscar un equivalente