• Miércoles 6 de Noviembre de 2024, 07:26

Autor Tema:  Preparedstatement Ver La Sql Que Se Forma  (Leído 2173 veces)

JuanCebolla

  • Nuevo Miembro
  • *
  • Mensajes: 11
    • Ver Perfil
Preparedstatement Ver La Sql Que Se Forma
« en: Miércoles 21 de Marzo de 2007, 12:18 »
0
Hola estoy trabajando con PreparedStatement  de JAVA para acceder a una base de datos MySQL, un ejemplo:

Código: Text
  1. public int Modificar() {
  2.     String sSql;
  3.     int iOK;
  4.  
  5.     BaseDatos bd = new BaseDatos();
  6.     Connection conn = bd.conectar();
  7.  
  8.     sSql="UPDATE usuarios SET " +
  9.          "       Usuario=?, Contraseña=?, " +
  10.          "       Usu_Dat_Mod=?, Usu_Dat_Alta=?, Usu_Usu_Mod=? " +
  11.          "WHERE Usuario=?";
  12.     try {
  13.         PreparedStatement ps = conn.prepareStatement(sSql);
  14.         //Insertem els camps
  15.         ps.setString(1, this.Usuario);    
  16.         ps.setString(2, this.Contraseña);
  17.         ps.setTimestamp(5, this.Usu_Dat_Mod);
  18.         ps.setDate(6, this.Usu_Dat_Alta);
  19.         ps.setString(7, this.Usuari);
  20.         ps.setString(8, this.Usuari);
  21.         iOK = ps.executeUpdate();
  22.         ps.close();
  23.         bd.desconectar(conn);
  24.         return iOK;                                
  25.     } catch(SQLException e) {
  26.         this.Error=e.getSQLState() +": " +e.getMessage();
  27.         this.SQLState=e.getSQLState();
  28.         bd.desconectar(conn);
  29.         return -1;
  30.     }
  31.  }
  32.  

 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.

jpaler

  • Miembro MUY activo
  • ***
  • Mensajes: 479
    • Ver Perfil
Re: Preparedstatement Ver La Sql Que Se Forma
« Respuesta #1 en: Martes 27 de Marzo de 2007, 17:37 »
0
Sabes... juan... de tu pregunta aun no comprendo si es muy compleja o
demaciado sencilla...

Por favor... no lo tomes a mal.... q no es mi intencion... listo!!!

Salu2 compañero...

JuanCebolla

  • Nuevo Miembro
  • *
  • Mensajes: 11
    • Ver Perfil
Re: Preparedstatement Ver La Sql Que Se Forma
« Respuesta #2 en: Viernes 20 de Abril de 2007, 09:54 »
0
Pues mira, era demasiado sencilla, lo que pasa es que a veces nos complicamos la vida pensando y no vemos lo que tenemos en nuestras narices mismo.
Como decia un filosofo el arbol no me deja ver el bosque o al reves..
jejeeej.
Bueno la solucion es

Código: Text
  1. ps.toString()
  2.  

es decir:

Código: Text
  1. "Error al ejecutar laSQL " + ps.toString();
  2.  

CAGATE MANUEL!!!!
Lo siento, por hacer una pregunta tan estupida.
Gracias.