Que tal camaradas en este post les dejare un ejemplo de como leer una tabla en MySQL a travez de un procedimiento almacenado y poner los datos en un JTable que es el equivalente al grid en las IDE de Microsoft o las mas parecida que encontre.
En primera necesitaremos del procedimiento almacenado el cual les dejo aquí mismo
[code language=”SQL”]
DROP PROCEDURE IF EXISTS `PA_LeeClientes`$$
CREATE PROCEDURE `PA_LeeClientes`(IN `desde` BIGINT, IN `cuantos` BIGINT, IN `Busqueda` VARCHAR(200))
BEGIN
SELECT right(`Clientes`.`idCliente`,5) as idCliente,
`Clientes`.`Nombres`,
`Clientes`.`Apellidos`,
`Clientes`.`Direccion`,
`Clientes`.`Ciudad`,
`Clientes`.`Telefono`,
`Clientes`.`RFC`,
`Clientes`.`FechaNacimiento`,
`Clientes`.`Estado`,
`Clientes`.`Municipio`,
`Clientes`.`CodigoPostal`
FROM `Clientes`
where Nombres LIKE CONCAT(‘%’,Busqueda,’%’)
or Nombres LIKE CONCAT(‘%’,Busqueda,’%’)
or Apellidos LIKE CONCAT(‘%’,Busqueda,’%’)
or Direccion LIKE CONCAT(‘%’,Busqueda,’%’)
or Ciudad LIKE CONCAT(‘%’,Busqueda,’%’)
or Telefono LIKE CONCAT(‘%’,Busqueda,’%’)
or RFC LIKE CONCAT(‘%’,Busqueda,’%’)
or Estado LIKE CONCAT(‘%’,Busqueda,’%’)
limit desde,cuantos;
[/code]
Ahora un método que necesitaremos es la que esta el la clase “Clientes”
[code language=”Java”]
public void leerClientes(long intDesde ,long intCuantos,DefaultTableModel tablaClientes,String strBusqueda ){
String strConsulta;
String datos[]=new String [4];
strConsulta="call PA_LeeClientes("+intDesde+","+intCuantos+",’"+strBusqueda+"’);";
try{
ps= con.conectado().prepareStatement(strConsulta);
res = ps.executeQuery();
while(res.next()){
//System.out.println(res.getString("Nombres"));
datos[0]=res.getString("IdCliente");
datos[1]=res.getString("Nombres");
datos[2]=res.getString("Apellidos");
datos[3]=res.getString("RFC");
tablaClientes.addRow(datos);
}
res.close();
}catch(SQLException e){
System.out.println(e);
}
}
[/code]
Y por si hiciera falta la clase de conexión a la base de datos MySQL
[code language=”Java”]
Ahora vemos el método que forma el JTable y le asigna los datos
[code language="Java"]
public void defineTablaClientes(String strBusqueda,long DesdeHoja){
long lngRegistros=1;
long lngDesdeRegistro;
//DEFINIMOS LA TABLA MODELO
DefaultTableModel tablaClientes = new DefaultTableModel();
//LE AGREGAMOS EL TITULO DE LAS COLUMNAS DE LA TABLA EN UN ARREGLO
String strTitulos[]={"ID CLIENTE","NOMBRE","APELLIDO","RFC"};
//LE ASIGNAMOS LAS COLUMNAS AL MODELO CON LA CADENA DE ARRIBA
tablaClientes.setColumnIdentifiers(strTitulos);
//LE ASIGNAMOS EL MODELO DE ARRIBA AL JTABLE
this.JTabClientes.setModel(tablaClientes);
//AHORA A LEER LOS DATOS
//ASIGNAMOS CUANTOS REGISTROS POR HOJA TRAEREMOS
lngRegistros=(Long.valueOf(this.txtNumReg.getText()));
//ASIGNAMOS DESDE QUE REGISTRO TRAERA LA CONSULTA SQL
lngDesdeRegistro=(DesdeHoja*lngRegistros)-lngRegistros;
//INSTANCEAMOS LA CLASE CLIENTE
control_cliente classCliente= new control_cliente();
//LEEMOS LA CLASE CLIENTE MANDANDOLE LOS PARAMETROS
classCliente.leerClientes(lngDesdeRegistro, (Long.valueOf(this.txtNumReg.getText())),tablaClientes,strBusqueda);
//LE PONEMOS EL RESULTADO DE LA CONSULA AL JTABLE
this.JTabClientes.setModel(tablaClientes);
//ASIGNAMOS LOS VALORES A LA PAGINACION
lngRegistros = classCliente.leerCuantos("");
lngNumPaginas= (lngRegistros/ (Long.valueOf( this.txtNumReg.getText())))+1;
this.jlblTotalPaginas.setText(" De " + ( lngNumPaginas));
}
[/code]
Y de esta manera sencilla se agregan los valores a la celda, es muy fácil verdad.
Bien camaradas espero que les sirva y saludos