Java - Validar si EXISTE o NO un registro en la base de datos

 
Vista:
sin imagen de perfil

Validar si EXISTE o NO un registro en la base de datos

Publicado por liz (4 intervenciones) el 07/01/2015 18:39:42
Hola expertos:
Estoy haciendo una aplicacion con Netbeans muy sencilla pero ya me desesperé porque no se mucho sobre como validar que NO EXISTE UN REGISTRO en la base de datos. La interfaz consiste en consultar un número de expediente que el usuario ingresará en la tabla de la base de datos, si existe le envia un mensaje al usuario hasta aqui si lo hace, lo que no me hace es mostrar el mensaje cuando éste codigo no existe.
¿Me puden ayudar o sugerir como le puedo hacer por favor? Se los agradeceré mucho.
En mi JFrame tengo un boton: Guardar (btnGuardar) primero validé que lo que introduzca el usuario sean números y no estén vacíos, y luego llamo el método "ValidaExpediente" de la clase Consultas (c). Si me muestra el mensaje cuando si existe el expediente pero cuando no existe no hace nada, es decir no sale el mensaje de error que puse en el ultimo if.

Código del botón Guardar:
1
2
3
4
5
6
7
8
private void btnGuardarActionPerformed(java.awt.event.ActionEvent evt) {
        String exp = txtExp.getText();
        if(exp.length() < 13 || exp.isEmpty()){
            JOptionPane.showMessageDialog(null, "El número del expediente tiene que ser de 13 digítos", "Error de captura",JOptionPane.ERROR_MESSAGE);
        }  else {
                    c.ValidaExpediente(exp);
           }
 }

Código ValidaExpediente:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
public void ValidaExpediente(String exp) {
 
        try{
            pstm = con.getConnection().prepareStatement("SELECT escExpediente FROM KCPro WHERE escExpediente = '" + exp+ "'");
            res = pstm.executeQuery();
            while(res.next()){
                String expedienteKCPro = res.getString("escExpediente");
                if ( exp.equals(expedienteKCPro) ){
                    JOptionPane.showMessageDialog(null, "Expediente encontrado: " + expedienteKCPro, "Mensaje",JOptionPane.INFORMATION_MESSAGE);
                } else
                    if ( !exp.equals(expedienteKCPro) ) {
                        JOptionPane.showMessageDialog(null, "NO existe el expediente: " + exp, "Error de expediente",JOptionPane.ERROR_MESSAGE);
                    }
            }
            res.close();
        } catch(SQLException e){
            JOptionPane.showMessageDialog(null, e);
        }
 
    }

Se que para muchos es una aplicacion muy sencilla pero para mi que estoy aprendiendo aun me cuesta, ojala alguien pueda orientarme como lograrlo, Gracias. ¡¡¡
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de juan esteban

Validar si EXISTE o NO un registro en la base de datos

Publicado por juan esteban (21 intervenciones) el 07/01/2015 21:08:29
Hola
pruebalo asi haber si te da ..


1
2
3
if ( exp.equals(null) ) {
    JOptionPane.showMessageDialog(null, "NO existe el expediente: " + exp, "Error de expediente",JOptionPane.ERROR_MESSAGE);
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Validar si EXISTE o NO un registro en la base de datos

Publicado por liz (4 intervenciones) el 07/01/2015 23:26:56
Hola

Gracias por tu aporte pero que crees? ya lo probó y sigue sin hacer nada cuando NO EXISTE. También lo probé con el valor del campo de la Base de Datos el cual se llama escExpediente, y con el String en el que guardo ese el valor expedienteKCPro. Tambien lo probé con:
if ( res.getFetchSize() == 0 )
y nada. Ayudaaaaaaaaa
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Armel Peña

Validar si EXISTE o NO un registro en la base de datos

Publicado por Armel Peña (3 intervenciones) el 14/01/2015 15:52:15
Hola,

Te sugiero lo siguiente:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
public void ValidaExpediente(String exp) {
 
        try{
            pstm = con.getConnection().prepareStatement("SELECT escExpediente FROM KCPro WHERE escExpediente = '" + exp+ "'");
            res = pstm.executeQuery();
            if(res.next()){
                  JOptionPane.showMessageDialog(null, "Expediente encontrado: " + expedienteKCPro, "Mensaje",JOptionPane.INFORMATION_MESSAGE);
 
} else
 JOptionPane.showMessageDialog(null, "NO existe el expediente: " + exp, "Error de expediente",JOptionPane.ERROR_MESSAGE);
 
            res.close();
        } catch(SQLException e){
            JOptionPane.showMessageDialog(null, e);
        }
 
    }
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
5
Comentar
sin imagen de perfil

Validar si EXISTE o NO un registro en la base de datos

Publicado por Esteban (1 intervención) el 31/10/2015 02:09:27
Gracias, me funcionó de una
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Validar si EXISTE o NO un registro en la base de datos

Publicado por Efrain (1 intervención) el 08/03/2016 00:26:53
una pregunta la variable res donde la declaras???????
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Validar si EXISTE o NO un registro en la base de datos

Publicado por Fernando Corona (2 intervenciones) el 14/04/2016 19:35:21
Excelente código, me ayudaste mucho, gracias...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Junior

Validar si EXISTE o NO un registro en la base de datos

Publicado por Junior (1 intervención) el 02/10/2017 21:59:22
Esto tambien funcionaria para El Login, Al momento de loguear y si no existe dicho usuario nos salga un mensaje diciendo que no existe Tal usuario y nos devuelve al txtUsuario
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Validar si EXISTE o NO un registro en la base de datos

Publicado por Daniel (1 intervención) el 04/04/2018 04:37:15
Buenas armel

para ver si me podrias dar un breve ejemplo de donde podria asignar ese metodo de validacion
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Validar si EXISTE o NO un registro en la base de datos

Publicado por alexis madrigal (1 intervención) el 27/01/2022 15:30:34
pues en mi caso realice la validación simple y me funciono bien.

@GetMapping("/eliminar")
public String ValidarId(@Validated int id, Model model,RedirectAttributes attributes) {

List<User> user = inerfaxUser.BuscarUsuarioXID(id);

if(user.isEmpty()) {
System.out.println("la consulta esta vacia");
}else {
System.out.println("consulta con exticto" + user.toString());
attributes.addFlashAttribute("user", user);
}
return"redirect:/index";
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Validar si EXISTE o NO un registro en la base de datos

Publicado por azael (2 intervenciones) el 21/03/2018 01:02:33
me puedes decir que significa tu "res" qu esta en res = pstm.executeQuery(); y res.close(); que es ese res??? es una variable donde la declaras como la declaraste porfa responde
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Validar si EXISTE o NO un registro en la base de datos

Publicado por Juan (58 intervenciones) el 04/04/2018 09:48:59
Supongo que sera un Resultset y la declarara fuera ...es decir de ámbito global...tb te la podrías declarar antes del try ..como Resulset res; ...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar