/** * Borra el ObjetoCriterio que le pasamos como argumento de la base de datos. Éste lo realiza * mediante las </b> condiciones que me vengan el el objeto que pasamos como parámetro. * * @return True si el borrado se ha ejecutado correctamente </b> False en caso contrario o en el * caso de que en el objeto que se le pasa como argumento no viene ningún criterio de * búsqueda. * @param obj ObjetoCriterio. */ public boolean borrar(ObjetoCriterio obj) { // variables a utilizar boolean bResultado = false; boolean bResultadoConexion; String sQuery = ""; Statement instruccion = null; int numFilas; if (obj.dameNumCampos() != 0) { bResultadoConexion = super.conectar(); if (bResultadoConexion) { try { instruccion = super.getConexion().createStatement(); } catch (SQLException e) { log.error(Constantes.ERROR_CONEXION_BBDD); log.error(e.getMessage()); } // Como mínimo tiene que haber un criterio de búsqueda. // Aparte el valor me lo tiene que saber dar del campo que pongo en la condición sQuery = "DELETE FROM " + super.getBd() + "." + Constantes.TABLA_CURSO + " WHERE " + obj.dameCampo() + "=" + obj.dameValor(obj.dameCampo()); // pongo las condiciones siguientes que me vengan en el objeto if (obj.dameNumCampos() > 1) { while (obj.camposig()) { sQuery += " AND " + obj.dameCampo() + "=" + obj.dameValor(obj.dameCampo()); } } // cierro la sentencia sQuery += ";"; try { // ejecuto la query numFilas = instruccion.executeUpdate(sQuery); bResultado = (numFilas != 0); log.info( "Se han borrado " + numFilas + " registros de la tabla " + Constantes.TABLA_CURSO); } catch (SQLException e) { log.error("Error al borrar ObjetoBBDD en " + Constantes.TABLA_CURSO); log.error(e.getMessage()); } } super.desconectar(); } return bResultado; }
/** * Devuelve una ListaObjetoBBDDAbs tras realizar la consulta a la BBDD según los criterios que * vengan en el </b> objeto que me pasan como argumento. * * @return ListaObjetoBBDDAbs con el resultado de la query. </b> Si el objeto que le pasamos como * argumento viene sin criterio de búsqueda la lista se devuelve vacía. * @param obj ObjetoCriterio. */ public ListaObjetoBBDD consultar(ObjetoCriterio obj) { // variables a utilizar CreadorObjetoBBDD creadorObjetoBBDD = new CreadorObjetoBBDD(); CreadorListaObjetoBBDD creadorListaObjetoBBDD = new CreadorListaObjetoBBDD(); ListaObjetoBBDD listaObjetoBBDDAbs = creadorListaObjetoBBDD.crear(); ResultSet resultSet; Statement instruccion = null; String sQuery = ""; boolean bResultadoConexion; int posicion = 0; Float fValor; bResultadoConexion = super.conectar(); if (bResultadoConexion) { try { instruccion = super.getConexion().createStatement(); } catch (SQLException e) { log.error(Constantes.ERROR_CONEXION_BBDD); log.error(e.getMessage()); } sQuery = "SELECT * FROM " + Constantes.TABLA_CURSO; if (obj.dameNumCampos() > 0) { sQuery += " WHERE "; sQuery += obj.dameCampo() + "=" + obj.dameValor(obj.dameCampo()); while (obj.camposig()) { sQuery += " AND " + obj.dameCampo() + "=" + obj.dameValor(obj.dameCampo()); } } // cierro la sentencia sQuery += ";"; try { // ejecuto la query resultSet = (ResultSet) instruccion.executeQuery(sQuery); while (resultSet.next()) { ObjetoBBDD objetoBBDD = creadorObjetoBBDD.crear(creadorObjetoBBDD.Iscurso); objetoBBDD.cambiaValor( Constantes.ID_ISCURSO_IDISCURSO, resultSet.getString(Constantes.ID_ISCURSO_IDISCURSO)); objetoBBDD.cambiaValor( Constantes.CURSO_ISPROFESOR_ISUSUARIO_DNI, resultSet.getString(Constantes.CURSO_ISPROFESOR_ISUSUARIO_DNI)); objetoBBDD.cambiaValor( Constantes.CURSO_ISAREA_IDISAREA, resultSet.getString(Constantes.CURSO_ISAREA_IDISAREA)); objetoBBDD.cambiaValor( Constantes.CURSO_NOMBRE, resultSet.getString(Constantes.CURSO_NOMBRE)); objetoBBDD.cambiaValor( Constantes.CURSO_NUMERO_PLAZAS, resultSet.getString(Constantes.CURSO_NUMERO_PLAZAS)); objetoBBDD.cambiaValor( Constantes.CURSO_ESTADO, resultSet.getString(Constantes.CURSO_ESTADO)); objetoBBDD.cambiaValor( Constantes.CURSO_FECHA_INICIO, resultSet.getString(Constantes.CURSO_FECHA_INICIO)); objetoBBDD.cambiaValor( Constantes.CURSO_FECHA_FIN, resultSet.getString(Constantes.CURSO_FECHA_FIN)); fValor = new Float(resultSet.getFloat(Constantes.CURSO_PRECIO)); objetoBBDD.cambiaValor(Constantes.CURSO_PRECIO, fValor.toString()); listaObjetoBBDDAbs.insertar(posicion++, objetoBBDD); } } catch (SQLException e) { log.error("Error al consultar ObjetoBBDD en " + Constantes.TABLA_CURSO); log.error(e.getMessage()); } } super.desconectar(); return listaObjetoBBDDAbs; }