Hola estoy trabajando con PreparedStatement de JAVA para acceder a una base de datos MySQL, un ejemplo:
public int Modificar() {
String sSql;
int iOK;
BaseDatos bd = new BaseDatos();
Connection conn = bd.conectar();
sSql="UPDATE usuarios SET " +
" Usuario=?, Contraseña=?, " +
" Usu_Dat_Mod=?, Usu_Dat_Alta=?, Usu_Usu_Mod=? " +
"WHERE Usuario=?";
try {
PreparedStatement ps = conn.prepareStatement(sSql);
//Insertem els camps
ps.setString(1, this.Usuario);
ps.setString(2, this.Contraseña);
ps.setTimestamp(5, this.Usu_Dat_Mod);
ps.setDate(6, this.Usu_Dat_Alta);
ps.setString(7, this.Usuari);
ps.setString(8, this.Usuari);
iOK = ps.executeUpdate();
ps.close();
bd.desconectar(conn);
return iOK;
} catch(SQLException e) {
this.Error=e.getSQLState() +": " +e.getMessage();
this.SQLState=e.getSQLState();
bd.desconectar(conn);
return -1;
}
}
Me gustaria poder devolver la sentencia SQL que se crea por si hay un error devolver algo asi como:
"Error al ejecutar laSQL " + ps.getSentenciaSQL();
para que aparezca:
Error al ejecutar la SQL: UPDATE usuarios SET Usuario='pepe', Contraseña='xdfdsd', Usu_Dat_Mod='2007-11-01 11:35:52', Usu_Dat_Alta='2006-01-01', Usu_Usu_Mod='pepito' WHERE Usuario='pepe'
¿alguien sabe como puedo ver la SQL que se forma con el PreparedStatement?
Gracias.