/** * @(#) PersistenciaVTaresanaTamedico.java */ package com.tarisan.control; import com.tarisan.data.VTaresanaTamedico; import com.tarisan.log.*; import com.tarisan.excepcion.ExcepcionTarisan; import java.sql.*; import java.util.Vector; /** * Controla los accesos a la persistencia para la entidad VTaresanaTamedico. * @author Dpto. Informática. * @version 1.0, 24/09/2003 */ public class PersistenciaVTaresanaTamedico { /** * El objeto Paginacion que controla el número de filas a mostrar por cada página. */ private Paginacion objPaginacion = new Paginacion(); /** * Obtiene el valor del objeto Paginacion para saber qué página se está visualizando. * @return El objeto Paginacion. */ public Paginacion getPaginacion() { return objPaginacion; } /** * Selecciona los registros de la JOIN entre tablas TAMEDICO y TARESANA en función de la sentencia SELECT indicada. * @param sqlSelect La sentencia SELECT de selección. * @param pagina Número de página a mostrar. * @param aCondiciones Array que contiene los parámetros utilizados en la sentencia SELECT. * @return El Vector con los registros seleccionados (todos pertenencientes a la clase VTaprescrTamedico). * @throws */ public Vector seleccionar(String sqlSelect, int pagina, Object[] aCondiciones) throws ExcepcionTarisan { int elementosPaginacion=1; Vector vResultado = new Vector(); VTaresanaTamedico vTaresanaTamedico = null; try { Connection conexion = ParametrosConfiguracion.dataStore.obtenerConexion(); ResultSet rs = ParametrosConfiguracion.dataStore.seleccionar(conexion, sqlSelect, aCondiciones); objPaginacion.inicializarPaginacion(rs); if (objPaginacion.getNumeroRegistrosTotales()!=0) { objPaginacion.realizarPaginacion(rs, pagina); while(rs.next() && (elementosPaginacion <= Paginacion.getFilasPorPagina())) { vTaresanaTamedico = new VTaresanaTamedico(); vTaresanaTamedico.setNombre(rs.getString("NOMBRE")); vTaresanaTamedico.setApellidos(rs.getString("APELLIDOS")); vTaresanaTamedico.setFecha(rs.getDate("FECHA")); vTaresanaTamedico.setAutorizacion(rs.getInt("AUTORIZACION")); vResultado.addElement(vTaresanaTamedico); if (pagina!=0) //Se quiere realizar la paginacion elementosPaginacion++; } } rs.close(); ParametrosConfiguracion.dataStore.liberarConexion(conexion); LogTarisan.logger.log(NivelLog.DEBUG, "Seleccionados " + vResultado.size() + " registros de la tabla TARESANA (" + sqlSelect + ")"); } catch (ExcepcionTarisan sqle) { LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de TARESANA: " + sqle + " (" + sqlSelect + ")"); throw (ExcepcionTarisan)sqle; } catch(SQLException sqle) { LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de TARESANA: " + sqle + " (" + sqlSelect + ")"); throw new ExcepcionTarisan(sqle.getMessage()); } catch(Exception sqle) { LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de TARESANA: " + sqle + " (" + sqlSelect + ")"); throw new ExcepcionTarisan(sqle.getMessage()); } catch(Throwable sqle) { LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de TARESANA: " + sqle + " (" + sqlSelect + ")"); throw new ExcepcionTarisan(sqle.getMessage()); } return vResultado; } }