Clase persona.java
package contactos;
import java.sql.*;
/**
* @web http://jc-mouse.blogspot.com/
* @author mouse
*/
public class persona {
conectate con;
public persona (){
con = new conectate();
}
/*Añade un nuevo registro*/
public void NuevaPersona(String name, String ap, String am, String mail){
try {
PreparedStatement pstm = con.getConnection().prepareStatement("insert into " +
"persona(Nombre, appPaterno, appMaterno, mail) " +
" values(?,?,?,?)");
pstm.setString(1, name);
pstm.setString(2, ap);
pstm.setString(3, am);
pstm.setString(4, mail);
pstm.execute();
pstm.close();
}catch(SQLException e){
System.out.println(e);
}
}
/*obtenemos todos los datos de la tabla*/
public Object [][] getDatos(){
int registros = 0;
//obtenemos la cantidad de registros existentes en la tabla
try{
PreparedStatement pstm = con.getConnection().prepareStatement("SELECT count(1) as total FROM persona ");
ResultSet res = pstm.executeQuery();
res.next();
registros = res.getInt("total");
res.close();
}catch(SQLException e){
System.out.println(e);
}
Object[][] data = new String[registros][5];
//realizamos la consulta sql y llenamos los datos en "Object"
try{
PreparedStatement pstm = con.getConnection().prepareStatement("SELECT " +
" id, Nombre, appPaterno, appMaterno, mail " +
" FROM persona" +
" ORDER BY id ");
ResultSet res = pstm.executeQuery();
int i = 0;
while(res.next()){
String estCodigo = res.getString("id");
String estNombre = res.getString("nombre");
String estpaterno = res.getString("appPaterno");
String estmaterno = res.getString("appMaterno");
String estmail = res.getString("mail");
data[i][0] = estCodigo;
data[i][1] = estNombre;
data[i][2] = estpaterno;
data[i][3] = estmaterno;
data[i][4] = estmail;
i++;
}
res.close();
}catch(SQLException e){
System.out.println(e);
}
return data;
}
}
Empezemos:Paso 1: crea un jFrame "tablaform" y coloca los siguientes controles, renombralos como se ve en la imagen de abajo. ¡cuidado con las mayusculas y minusculas!
Nos dirigimos a Source (su codigo) y realizaremos lo siguiente;
Paso 2: declara import javax.swing.table.DefaultTableModel; ya sabes donde
Paso 3: coloca estas lineas de codigo.
/**
* @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.
private void updateTabla(){
String[] columNames = {"id","Nombre","ap. Paterno","ap. Materno", "E-Mail"};
// se utiliza la funcion
dtPer = p.getDatos();
// se colocan los datos en la tabla
DefaultTableModel datos = new DefaultTableModel(dtPer,columNames);
tabla.setModel(datos);
}
private void nuevo(){
txtname.setText("");
txtpaterno.setText("");
txtmaterno.setText("");
txtmail.setText("tu_correo@hotmail");
}
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
private void formWindowOpened(java.awt.event.WindowEvent evt) {
updateTabla();
nuevo();
}
private void cmdRegistroActionPerformed(java.awt.event.ActionEvent evt) {
String name = txtname.getText();
String pat = txtpaterno.getText();
String mat = txtmaterno.getText();
String mail = txtmail.getText();
p.NuevaPersona(name, mat, pat, mail);
updateTabla();
}
private void cmdNuevoActionPerformed(java.awt.event.ActionEvent evt) {
nuevo();
}
private void tablaMouseClicked(java.awt.event.MouseEvent evt) {
fila = tabla.rowAtPoint(evt.getPoint());
if (fila > -1){
txtname.setText(String.valueOf(tabla.getValueAt(fila, 1)));
txtpaterno.setText(String.valueOf(tabla.getValueAt(fila, 2)));
txtmaterno.setText(String.valueOf(tabla.getValueAt(fila, 3)));
txtmail.setText(String.valueOf(tabla.getValueAt(fila, 4)));
}
}
Paso 6: Compila y ejecuta el proyecto
4 comentarios:
MUCHAS GRACIAS!! Hay algunos detalles pero gracias!
muchisimas gracias mouse eres el mejor men gracias por compartirnos tantos proyectos...
amigo mouse y como se puede actualizar un campo de una base de datos sql osea cuando selecciono un item de un JCombobox actualizar dicho campo a la base de datos?? te agrezco inmensamente por su atencion.
sale error en "p.NuevaPersona(name, mat, pat, mail);" y en "dtPer = p.getDatos();" ayuda por favor
hola necesito ayuda porfa!! como hago para almacenar un txt en mysql desde netbeans...
Publicar un comentario