Foros del Web » Programación para mayores de 30 ;) » Java »

Mostrar PreparedStatement en Oracle

Estas en el tema de Mostrar PreparedStatement en Oracle en el foro de Java en Foros del Web. Saludos foreros, estoy realizando un proyecto con swing conectando a una base de datos oracle. Una de las consultas que tengo me falla en swing, ...
  #1 (permalink)  
Antiguo 28/01/2012, 15:08
Avatar de altex  
Fecha de Ingreso: septiembre-2008
Ubicación: En mi casa
Mensajes: 47
Antigüedad: 15 años, 7 meses
Puntos: 4
Mostrar PreparedStatement en Oracle

Saludos foreros,

estoy realizando un proyecto con swing conectando a una base de datos oracle.

Una de las consultas que tengo me falla en swing, pero en el xe de oracle me va bien. En MySQL para ver los errores que tenia en las consultas imprimia el PreparedStatement y me salian los ? cambiados por las variables que insertaba.

Alguien conoce si hay alguna manera de imprimir la query con los interrogantes cambiados por las variables?

Saludos!
  #2 (permalink)  
Antiguo 28/01/2012, 15:20
Avatar de jomaruro
Colaborador
 
Fecha de Ingreso: junio-2002
Ubicación: Naboo
Mensajes: 5.442
Antigüedad: 21 años, 9 meses
Puntos: 361
Respuesta: Mostrar PreparedStatement en Oracle

Hola:

Creo que no o por lo menos yo no le he conseguido, pero tienes la opción de crear un System.out.println con los valores de las variables y cuando hayas solucionado el problema lo borras.

Saludos.

  #3 (permalink)  
Antiguo 28/01/2012, 18:37
 
Fecha de Ingreso: enero-2012
Ubicación: Los Angeles, CA, USA
Mensajes: 10
Antigüedad: 12 años, 3 meses
Puntos: 1
Respuesta: Mostrar PreparedStatement en Oracle

No es muy elegante, pero puedes construir un String con los valores puestos explicitamente para el log, differente de la sentencia sql que se ejecuta, por ejemplo:

Código Java:
Ver original
  1. sql = "UPDATE Flight_Pilot SET FLIGHT_PILOT_TYPE_ID = ?, COMMENTS = ?"
  2.           + " WHERE FLIGHT_ID = ? AND PILOT_ID = ?";
  3.          
  4.       sqlFullText = "UPDATE Flight_Pilot "
  5.                   + " SET FLIGHT_PILOT_TYPE_ID = " + this.flight_pilot_type_id
  6.                   + ", COMMENTS = " + this.comments
  7.                   + " WHERE FLIGHT_ID = " + this.flight_id
  8.                   + " AND PILOT_ID = " + this.pilot_id
  9.                   + ";";
  10.       pStat = dbConn.prepareStatement(sql);
  11.       pStat.setBigDecimal( 1, this.flight_pilot_type_id);
  12.       pStat.setString( 2, this.comments);
  13.       pStat.setBigDecimal( 3, this.flight_id);
  14.       pStat.setBigDecimal( 4, this.pilot_id);
  15.       System.out.println("Executing SQL: " + sqlFullText);
  16.       sqlRowCount = pStat.executeUpdate();
  17.       System.out.println("sqlRowCount = " + sqlRowCount);
Howard Hyde, autor, 'Java Web Database Application Development' a: [URL="http://javawebdb.com"]http://javawebdb.com[/URL].

Etiquetas: mysql, oracle
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:42.