Ver Mensaje Individual
  #3 (permalink)  
Antiguo 21/07/2011, 20:25
Avatar de HackmanC
HackmanC
 
Fecha de Ingreso: enero-2008
Ubicación: Guatemala
Mensajes: 1.817
Antigüedad: 16 años, 3 meses
Puntos: 260
Sonrisa Respuesta: Eliminar fila de una base de datos

Hola,

En este caso, cuando estas ingresando los datos, estás poniendo comillas simples para denotar en la instrucción SQL que los valores son constantes alfanúmericas:
Cita:
Iniciado por sterlingdiazd Ver Mensaje
Código Java:
Ver original
  1. stmt.execute("insert into Usuarios(Nombre, Apellido, Usuario, Contraseña, Perfil) values
  2. (     '"+ usuario.getNombre() +"', '"+ usuario.getApellido() +"', '" + usuario.getUsuario() +
  3. "', '"+ usuario.getContraseña() +"', '"+ usuario.getPerfil() +"') ");
Pero acá no lo estás haciendo, aún cuando deben ser constantes alfanuméricas.
Cita:
Iniciado por sterlingdiazd Ver Mensaje
Código Java:
Ver original
  1. stmt.execute(" delete from Usuarios where Usuario = " + usuarios.getUsuario() );

En este caso yo te aconsejaría que en lugar de 'intentar' mantener sincronizada la base de datos con tu lista, realices una nueva consulta que traiga 'todos' los datos cada vez que insertas, eliminas o actualizas un registro, no solo es más facil darle mantinimiento a una aplicación sino que eliminas varios problemas.

Suponiendo que la cantidad de usuarios es un valor moderadamente pequeño, sino fuera así, es decir, si fueran cientos o miles de usuarios tampoco es aconsejable que los metas en un List todos al mismo tiempo, entonces tendrías que desarrollar una interface gráfica (una pantalla) donde la lógica sea mas eficiente.
Cita:
Iniciado por sterlingdiazd Ver Mensaje
Código Java:
Ver original
  1. public void eliminar(int fila){
  2.         con.eliminarUsuario(usuarios.get(fila));
  3.         // usuarios.remove(fila);
  4.         Volver a cargar todos los usuarios.
  5.         fireTableDataChanged();
  6.         // fireTableRowsDeleted(fila, fila);
  7.     }
Aunque lograste un concepto bastante definido, donde desacoplaste la capa de acceso a datos claramente, tus entidades, etc., creo, en mi opinión personal, que la parte gráfica se podría mejorar bastante, principalmente usando un Layout.

Saludos,