Java - Validar el numero de documento en la base de datos

 
Vista:
sin imagen de perfil
Val: 9
Ha aumentado su posición en 5 puestos en Java (en relación al último mes)
Gráfica de Java

Validar el numero de documento en la base de datos

Publicado por Sebastian (3 intervenciones) el 06/01/2021 00:51:36
Hola amigos como están,

Si alguien me puede ayudar se lo agradezco enormemente,

Estoy necesitando crear una función que me consulte si un dato esta en la base de datos o no.
La lógica seria así, ingresa el numero de documento, si el numero de documento no existe sigue con el programa, si el numero de documento existe, entonces despliega un mensaje indicando esto y no permite continuar.
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
sin imagen de perfil

Validar el numero de documento en la base de datos

Publicado por anonymous (47 intervenciones) el 06/01/2021 01:11:15
Pero no especificas a que base de datos deseas conectar.

Amplía los detalles, que deseas que haga el programa, ya tienes una estructura en BD creada para validar ese documento...
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
Val: 9
Ha aumentado su posición en 5 puestos en Java (en relación al último mes)
Gráfica de Java

Validar el numero de documento en la base de datos

Publicado por Sebastian (3 intervenciones) el 06/01/2021 01:57:43
Hola Jorge,

Es una programa desarrollado en java utilizando Eclipse como IDE.
También utiliza java Beans, tiene una capa de persistencia y de servicios.
Se trata de una aplicación de escritorio, donde en el formulario de registro, existe un campo con el nombre documento.
Dentro de las funciones de este campo, una es que verifique que el numero de documento no exista en base de datos.

La BD es una base local de Oracle Xe 10g.
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 el numero de documento en la base de datos

Publicado por anonymous (47 intervenciones) el 06/01/2021 02:11:57
Eso no es difícil

Escríbeme al correo interno de acá de lwdp, para darte mi WhatsApp e indicarte como lo puedes hacer y ayudarte
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 el numero de documento en la base de datos

Publicado por anonymous (47 intervenciones) el 06/01/2021 13:41:51
Sebastián me quedé esperando que escribieses y acabar de aclarar algunos aspectos sobre tu duda.

Si bien mencionas que tendrás una capa de persistencia, no dices si lo harás con algún ORM como hibernate y/o trabajarás con JDBC normal, no dices como se llama tu tabla, que tipo de dato tiene el documento a buscar, si trabajarás todo directamente en la BD o desde el front…

De cualquier forma, acá te doy unas pautas para que las adaptes a tu necesidad.

En Oracle deberías tener un Procedure o Function que se encargue de efectuar la búsqueda, parecido a esto:

1
2
3
4
5
6
7
8
9
10
11
12
13
CREATE OR REPLACE FUNCTION Verificar_Documento(
    p_Documento varchar2
)
RETURN NUMBER
IS
    Existe NUMBER := 0;
BEGIN
     SELECT COUNT(*) INTO Existe
     FROM TUTABLA
     WHERE Documento = p_Documento;
 
     RETURN Existe;
END;

Ya estando en Java, si la idea es que tendrás un form en una aplicación desktop con un campo para ingresar documento, no aclaras si éste será numérico o admitirá otro tipo de caracteres, yo me imaginaría que ese campo está atado a un tipo de documento y cada uno se comporta diferente porque unos y otros tienen diferente longitud y tipo de dato.

Pero suponiendo que en tu form tienes un JTextField llamado JTextField_Documento, tendrás un action parecido a esto:

1
2
3
4
5
6
private void JTextField_DocumentoActionPerformed(java.awt.event.ActionEvent evt) {
// Dentro de este bloque lo primero a hacer es aplicar un trim
// Luego validar que la cadena no quede nula que tenga datos
// Luego validar longitud y tipo de dato
// De ser satisfactorio todo hasta acá, procedemos a buscar en BD
}

Para llamar la función en Oracle procedemos así:
1
2
3
4
cs = connection.prepareCall("{? = call Verificar_Documento (?,?)}");
cs.registerOutParameter(1, Types.Integer);
cs.setString(2, JTextField_Documento.getText());
int retorno = cs.getInt(1);

Luego para obtener ese retorno en Java podrías crearte algo parecido a lo siguiente:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
public boolean dimeSiDocumentoExiste()
{
   boolean existe_Documento = false;
   cs = connection.prepareCall("{? = call Verificar_Documento (?,?)}");
   cs.registerOutParameter(1, Types.Integer);
   cs.setString(2, JTextField_Documento.getText());
   int retorno = cs.getInt(1);
 
    if(retorno >=1)
    {
        existe_Documento = true;
    }
    return existe_Documento;
}

En tu programa general solo tienes en cuenta si ese retorno es falso para que continúe con la ejecución, de lo contrario muestras mensaje de que el documento ya existe..

Sobra decir que tu conexión debe estar en una clase aparte, al igual que el pedazo de código que realiza el llamado a la BD, debería estar en un DAO aparte, pues esto acá quedó código espagueti, cuando todo debería quedar separado sin mezclar.

Si tienes dudas me puedes contactar y te acabo de orientar mejor.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
sin imagen de perfil
Val: 9
Ha aumentado su posición en 5 puestos en Java (en relación al último mes)
Gráfica de Java

Validar el numero de documento en la base de datos

Publicado por Sebastian (3 intervenciones) el 06/01/2021 13:58:38
Muchas gracias Jorge, me fue de mucha ayuda, lo voy a poner a prueba y te comento.

Gracias de nuevo
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