Ver Mensaje Individual
  #20 (permalink)  
Antiguo 16/10/2009, 21:43
Avatar de HackmanC
HackmanC
 
Fecha de Ingreso: enero-2008
Ubicación: Guatemala
Mensajes: 1.817
Antigüedad: 16 años, 3 meses
Puntos: 260
Sonrisa Respuesta: Conexion Cerrada ayuda

Hola,

Tienes razón, no guarda nada desde la segunda vez porque no se cierra la conexión (pero no tira ninguna exception), ... vaya, todos los días se aprende algo nuevo ...

Bueno ... esa solución no era muy recomendable de igual forma, así que creo que la solución real sería:

En la interface, tienes que agregar un nuevo método:

Código Java:
Ver original
  1. public interface _ClienteDao extends _GeneralDao {
  2.     public List buscar() throws SQLException;
  3.     public void setConnection(java.sql.Connection c);
  4. }
Y su correspondiente implementación:

Código Java:
Ver original
  1. public class _ClienteDaoImpl implements _ClienteDao {
  2.     private Connection con;
  3.     public _ClienteDaoImpl(Connection con){
  4.         this.con=con;
  5.     }
  6.  
  7.     public void setConnection(Connection c) {
  8.         this.con = c;
  9.     }
Y en el factory:

Código Java:
Ver original
  1. public static _ClienteDao getClienteDao(Connection con){
  2.         if(clienteDao==null)
  3.             clienteDao=new _ClienteDaoImpl(con);
  4.         clienteDao.setConnection(con);
  5.         return clienteDao;
  6.     }

Y ahora sí deja el close() en su lugar.

De esa forma seguramente va a funcionar, pero con el único inconveniente que van a ser diferentes conexiones cada vez, si necesitas obligatoriamente usar solamente una conexión, entonces tendrías que implementarlo todo de nuevo, pero eso mi amigo ... es otra historia.

Espero haber sido de alguna ayuda,
Saludos.

Última edición por HackmanC; 16/10/2009 a las 21:51 Razón: deja el close