Le añadiremos una nueva funcionalidad a nuestro proyecto
base de datos y netbeans, esta funcionalidad es la de poder eliminar registros de la base de datos, todo de una forma visual y sencilla.
Recordemos un poco, nuestro proyecto se llama
"contactos", las clases que utilizamos son
conectate.java y
persona.java, la base de datos
(dbcontactos) y contiene una tabla
(persona) puedes ver con mas detalle nuestra base de datos
aqui.
Los cambios que realizamos son:
Añadiremos un nuevo jButton al proyecto, lo llamaremos "cmdEliminar", nuestra interfaz debe quedar de esta forma.
Para poder eliminar un registro de la base de datos realizaremos una instruccion SQL con el comando DELETE, para ello debemos tener muy en cuenta la conformacion de nuestra tabla "Persona".
En la clase persona.java, añadiremos la nueva funcion
deletePersona(), dentro la cual colocaremos la instruccion SQL, ejecutaremos la sentencia y cerramos.
public void deletePersona(String cod){
try {
PreparedStatement pstm = con.getConnection().prepareStatement("delete from persona where id = ?");
pstm.setString(1, cod);
pstm.execute();
pstm.close();
}catch(SQLException e){
System.out.println(e);
}
}
Ahora en el JFrame correspondiente, al boton que creamos "cmdEliminar", le añadimos el evento ActionPerformded, copias el siguiente codigo.
private void cmdEliminarActionPerformed(java.awt.event.ActionEvent evt) {
if (fila > -1){
String codigo = String.valueOf(tabla.getValueAt(fila, 0));
p.deletePersona(codigo);
updateTabla();
fila=-1;
}
}
Este código lo que hace es revisar si la variable
"fila" contiene un valor diferente a "-1",esto sucede cuando se realiza un clic sobre el objeto "tabla", si esto es cierto, quiere decir que tenemos una fila seleccionada, por lo tanto procedera a extraer el
codigo correspondiente y con este codigo hara un llamado a deletePersona(codigo), elimina el registro y reinicia el valor de fila a -1 para evitar inconvenientes.
7 comentarios:
Hey tengo una duda en la parte del codigo
PreparedStatement pstm = con.getConnection().prepareStatement("delete from persona where id = ?");
"con" qué es lo que es? porque solo me marca ese error :S podrias ayudarme?
gracias
con es una instancia a la clase conectate.java, revisa el siguientr enlace ahi explico
http://jc-mouse.blogspot.com/2009/11/clase-conexion-base-de-datos.html
:)
BROTHER SI "CON", ES EL QUE ESTABLECE LA CONEXION PERO EN EL OTRO ENLACE PONES "CONN"
Y CUANDO LO ARREGLAS PUES SALE ERROR EN LA CLASE:
PreparedStatement pstm = conn."getConnection"().prepareStatement("delete from persona where id = ?");
UNA VES PUESTO "CONN" ME APARECE ERROR EN LOQ ESTA ENTRE COMILLAS GETCONNECTION. SI NO CAMBIO A "CONN" PS ME APARECE ERROR EN "CON"
p.deletePersona(codigo);
en P que significa ?
y Tabla te refieres a la tabla de base de datos o a la variable de tabla del jframe muchas gracias
necesito una ayuda urgente!! por favorrr!! necesito ayuda por hotmail!!
"con" es un objeto de tipo connection en el cual se recibe si hay o no conexión con la base de datos
Publicar un comentario