Obtener el valor más reciente de una línea

1903 vistas

ResultSet tiene el método refreshRow para actualizar los valores que contiene una línea determinada. Esta funcionalidad puede ser interesante en tratamientos largos en los que los datos son susceptibles de cambio (por causa de otros usuarios por ejemplo).



java
  1. Statement statement = connection.createStatement(
  2.     ResultSet.TYPE_SCROLL_SENSITIVE,
  3.     ResultSet.CONCUR_READ_ONLY);
  4. String sql = "SELECT * FROM MiTabla";
  5. ResultSet resultado = statement.executeQuery(sql);
  6. resultado.first();
  7. // recuperamos el "precio" de la primera línea
  8. double d1 = resultado.getDouble("precio");
  9. // un proceso cualquiera
  10. resultado.fisrt();
  11. // verificamos que el precio no ha cambiado durante el proceso
  12. resultado.refreshRow();
  13. double d2 = resultado.getDouble("precio");
  14. if(d1!=d2){
  15.   // el precio a cambiado
  16. }



Nota: naturalmente esta funcionalidad sólo está disponible para los ResultSet de tipo ResultSet.TYPE_SCROLL_SENSITIVE.