A煤n no tienes acceso a esta clase

Crea una cuenta y contin煤a viendo este curso

CRUD: eliminaci贸n de datos

13/25
Recursos

Aportes 19

Preguntas 1

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesi贸n.

Extra: Aunque existen otras formas de chequeos, pero siguiendo la clase鈥
Problema: C贸mo saber si se afect贸 alguna fila al ejecutar la query. Por ejemplo: Eliminar un mensaje por su id_mensaje y que este no exista.
Soluci贸n: statement.executeUpdate() retorna la cantidad de filas affectadas por la consulta.

String query = "DELETE FROM mensaje WHERE id_mensaje = ?";
PreparedStatement statement = connection.prepareStatement(query);
statement.setInt(1, id_message);
int countRowsUpdated = statement.executeUpdate();
if (countRowsUpdated != 0) {
       ..." has been deleted successfully."
} else {
      ... " was not found."
 }

Genial!!, no pens茅 que iba ser tan sencillo.

Me encantaaaa

Buenas, para hacerlo un poco mas f谩cil lo puse todo en el paso 3, cuando le damos en borrar mensaje primero pido que vea los mensajes que est谩n disponibles para borrar y luego selecciona el mensaje que desea eliminar y luego te pide si deseas eliminar otro mensaje.

Excelente explicaci贸n del borrado, gracias

Un saludo para todas las personas que ven este video, actualic茅 el proyecto en mi repositorio de github con buenas pr谩cticas.

sobre estos temas yo los he visto en un libro de java interfaces gr谩ficas de ceballos me parece un buen libro

Si optas por abrir conexiones en cada m茅todo al menos cierralas cuando terminen las operaciones 鈥

Al leer los aporte veo a muchos que tienen un nivel muy avanzado de programaci贸n.

Al compararlo con el m茅todo crear se puede ver la mayor dificultad que se requiere para crear algo, muchas gracias por la clase instructor Santiago.

me pregunto cual es la diferencia de colocar el PreparedStatement en diferentes posiciones seg煤n cada metodo en las funciones de try/catch.

Funciono correctamente despues de algunos errores que tuve.

esto es super genial!!!

Listo 馃槂

Yo le hice un peque帽o cambio

public static void borrarMensaje(int id_mensaje, String autor) {
        try (Connection conexion = db_connect.getConnection()) {
            PreparedStatement pst = null;
            if (id_mensaje != 0) {
                try {
                    String query = "DELETE FROM mensajes WHERE id_mensaje = ?";
                    pst = conexion.prepareStatement(query);
                    pst.setInt(1, id_mensaje);
                    int ncont = pst.executeUpdate();
                    System.out.println("Registro Eliminado" + ncont);
                } catch (SQLException e) {
                    System.out.println("Error Borrar Registro");
                    System.out.println(e.getCause());
                    System.out.println(e.getStackTrace());
                }

            } else if (autor != "") {
                System.out.println(autor);
                try {
                    String query = "DELETE FROM mensajes WHERE autor_mensaje = "+"?";
                    pst = conexion.prepareStatement(query);
                    pst.setString(1, autor);
                    int ncont = pst.executeUpdate();
                    System.out.println("Registro Eliminado" + ncont);
                } catch (SQLException e) {
                    System.out.println("Error Borrar Registro");
                    System.out.println(e.getCause());
                    System.out.println(e.getMessage());
                    System.out.println(e.getStackTrace());
                }

            }

        } catch (SQLException e) {
            System.out.println("Error Conexion para borrar");
            System.out.println(e.getMessage());
            System.out.println(e.getStackTrace());
        }
    }

Excelente ya habia experimentado si funcionaba solo cambiando el query, seria interesante ver como se comporta con muchas variables que analizar si seria efectivo o no.

De cara a las clases, considero que ser铆a importante que Santiago no tomara como opci贸n el copiar y pegar. Lo digo porque la idea es entender el por qu茅 de las cosas. Por supuesto, yo lo digo con la intenci贸n de aportar, no de hacer cr铆ticas negativas. En mi caso, yo prefiero transcribir nuevamente el c贸digo a mano. Esto ayuda a retener conceptos y a entender justamente el por qu茅, que es lo m谩s importante.

Buenos d铆as, Sebastian, Un consulta 驴Como saber el tipo de excepci贸n que se debe colocar para cada caso?. Donde se puede profundizar en el manejo de las excepciones

Vamos muy bien