Ver Mensaje Individual
  #3 (permalink)  
Antiguo 02/06/2017, 12:03
Jose789
 
Fecha de Ingreso: diciembre-2012
Ubicación: Murcia
Mensajes: 329
Antigüedad: 11 años, 4 meses
Puntos: 4
Respuesta: Evitar Duplicar datos

Te dejo por aquí todo el form, me acabo de dar cuenta de que el primer usuario que doy de alta si lo vuelvo a poner me dice perfectamente que el nombre ya existe en cambio si añado otro nuevo e intento con ese me deja crearlo y así sucesivamente.

https://pastebin.com/Tke39Grz

Si, soy novato en esto de la programación y actualmente estoy aprendiendo y puede que veas cada cosa que te quedes loco jaja. Espero que aparte de ayudarme en encontrar el error también me puedas dar algún consejo...

Veré como funcionan los arrayList para ir dejando a un lado el Vector.

Un saludo.

Un poco mas resumido.
Código Java:
Ver original
  1. private void button_add_personalActionPerformed(java.awt.event.ActionEvent evt) {                                                    
  2.         // TODO add your handling code here:
  3.        
  4.  
  5.         String nick = nick_personal.getText();
  6.         String passwd = passwd_personal.getText();
  7.         String rep_passwd = rep_passwd_personal.getText();
  8.         String nivel = nivel_personal.getSelectedItem().toString();
  9.        
  10.         if( (nick.isEmpty()) || (passwd.isEmpty()) || (rep_passwd.isEmpty()) ){
  11.             System.out.println("Campos Vacios");
  12.              JOptionPane.showMessageDialog(this, "Los campos no pueden estar vacios");
  13.         }else if( passwd.equals(nick)){
  14.             System.out.println("La contraseña no puede ser igual al nombre de usuario");
  15.              JOptionPane.showMessageDialog(this, "La contraseña no puede ser igual al nombre de usuario");
  16.         }else if( !(passwd.equals(rep_passwd)) ){
  17.              JOptionPane.showMessageDialog(this, "Las contraseñas no coinciden");
  18.         }else if( nivel.equals("Nivel") ){
  19.              JOptionPane.showMessageDialog(this, "Debe seleccionar un nivel de seguridad");
  20.         }else{
  21.            
  22.            if(Personal.buscarNick(nick)==-1){
  23.                
  24.                 Personal = new Personal(nick, passwd, nivel);
  25.                 Main.personal.add(Personal);
  26.                
  27.                 JOptionPane.showMessageDialog(this, "Se añadio correctamente");
  28.             }else{
  29.                 System.out.println("El usuario ya existe");
  30.                 JOptionPane.showMessageDialog(this, "El usuario ya existe");
  31.             }
  32.            
  33.         }
  34.        
  35.        
  36.        
  37.     }

Una prueba de ejecución


Si el usuario no existe retornara -1 si el usuario ya existe nos devuelve la pos en la que esta. A partir de ahí es cuando no para de dar siempre -1

Última edición por Jose789; 02/06/2017 a las 12:27