Escolar Documentos
Profissional Documentos
Cultura Documentos
package PAQUETE_QUE_USARA_ESTA_CLASE ;
import java.sql.*;
/**
* @web http://jc-mouse.blogspot.com/
* @author Mouse
*/
public class conectate {
static String bd = "NOMBRE_BASE_DE_DATOS";
static String login = "USUARIO";
static String password = "PASSWORD";
static String url = "jdbc:mysql://localhost/"+bd;
public conectate() {
try{
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection(url,login,password);
if (conn!=null){
System.out.println("Conección a base de datos "+bd+". listo");
}
}catch(SQLException e){
System.out.println(e);
}catch(ClassNotFoundException e){
System.out.println(e);
}
}
package contactos;
/**
* @web http://jc-mouse.blogspot.com/
* @author mouse
*/
public class persona {
conectate con;
package contactos;
import java.sql.*;
/**
* @web http://jc-mouse.blogspot.com/
* @author mouse
*/
public class persona {
conectate con;
Ahora que pudimos manipular la base de datos con la "insercion" de nuevos registros, ahora necesitamos
extraer esos registros para poder verlos, modificaremos la clase "persona.java" para añadir la
funcion "getDatos()".
package contactos;
import java.sql.*;
/**
* @web http://jc-mouse.blogspot.com/
* @author mouse
*/
public class persona {
conectate con;
}
La nueva funcion GetDatos() esta definida como Object [][], tambien podemos definirla como String[][], la
funcion esta dividida en dos partes, la primera encargada de realizar una consulta para conocer el numero de
registros existentes y gurdarla en la variable "registros", la segunda parte de la funcion utilizando la
variable "registros" crea un objeto con esas dimensiones y realiza la consulta para extraer los datos y
colocarlas en la variable "data[][]" que es la que retorna.
package contactos;
/**
* @web http://jc-mouse.blogspot.com/
* @author Mouse
*/
public class Main {
Paso 2:
Modificaremos la clase "persona.java", mas concretamente la funcion "getDatos()", los cambios que hicimos
fueron para poder leer todos los datos de nuestra tabla
Paso 3:
a nuestro "tablaform", le añadimos "import javax.swing.table.DefaultTableModel;", al jframe le aññadimos
la funcion WindowOpened y colocaremos el siguiente codigo:
Continuando con nuestro mini-proyecto, ahora llego la hora de agregar/eliminar/actualizar registros a la base
de datos de forma visual.
Nuestro proyecto se llama "contactos", las clases que utilizamos son conectate.java y persona.java, la base de
datos (dbcontactos) y tabla (persona) que usamos las puedes ver aqui.
Clase persona.java
package contactos;
import java.sql.*;
/**
* @web http://jc-mouse.blogspot.com/
* @author mouse
*/
public class persona {
conectate con;
/**
* @param args the command line arguments
*/
persona p= new persona();
Object[][] dtPer;
int fila = -1;
Paso 4: Añade estos dos metodos, el primero updateTabla(), actualiza el objeto tabla cada vez que se lo
invoca, el metodo nuevo(), su funcion es la de limpiar los jTextFields para añadir nuevos datos.
Paso 5: añade el evento WindowOpenend al jFrame, el evento ActionPerformed a los objetos jButton y el
evento MouseClicked al objeto jTable, añade el codigo que se ve abajo
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.
Una ultima funcionalidad que le falta a nuestro miniproyecto de base de datos, es la de poder "modificar" los
datos leidos de la base de datos, para despues poder guardar esos cambios, para ello:
public void updatePersona(String id, String name, String paterno, String materno,
String mail){
try {
PreparedStatement pstm = con.getConnection().prepareStatement("update
persona " +
"set Nombre = ? ," +
"appPaterno = ? ," +
"appMaterno = ? ," +
"mail = ? " +
"where id = ? ");
pstm.setString(1, name);
pstm.setString(2, paterno);
pstm.setString(3, materno);
pstm.setString(4, mail);
pstm.setString(5, String.valueOf(id));
pstm.execute();
pstm.close();
}catch(SQLException e){
System.out.println(e);
}
}
Explicacion: Esta nueva funcion, recibe como parametros el "id" codigo del registro que se modificara,
ademas de los datos necesarios para realizar la consulta, como el nombre, apellido paterno , materno y el mail
de la persona. Luego se realiza una consulta SQL pasando esos datos.
Ya en el jFrame de nuestro proyecto, al nuebo jButton que creamos, añadimos el siguiente codigo:
Lo unico que hace es capturar los datos del JTable, asignarlas a variables y llamar a la funcion
updatePersona().