Después de haber
aprendido a establecer la conexión a diferentes motores de base de datos
mediante JDBC, el siguiente paso es realizar las consultas y mostrarlas. Para
el ejemplo hago uso de un JTable para mostrar los datos provenientes de las
consultas y para efectos didácticos he preferido usar PostgreSQL, aunque usted
puede hacer uso del motor de base de datos que prefiera como cualquiera de las
clases implementadas en los tópicos:
Establecer Conexión a Base de Datos con JDBC MYSQL y Establecer Conexión
a Base de Datos con JDBC PostgreSQL, que deberán ser incluidas en su proyecto,
lo único que debería hacer es cambiar las instancias a las clases
correspondientes como se muestra en las líneas siguientes, todo lo demás se
mantiene. Observar que para este ejemplo he construido un JTable con solo 3
columnas, por ello limitarse a una consulta que retorne 3 columnas o modificar
el código respectivo para ampliarlo:
Conexión a
PostgreSQL:
...
Ejm3_ConectarPostgreSQL cnndb = new
Ejm3_ConectarPostgreSQL();
CachedRowSet crs =
cnndb.Function("SELECT deptno, dname, loc FROM dept")
...
Conexión a MySQL:
...
Ejm2_ConectarMySQL cnndb = new
Ejm2_ConectarMySQL();
CachedRowSet crs =
cnndb.Function("SELECT Host, User, Password FROM user");
...
Código de
Ejemplo:
package jimmyosmar;
import javax.sql.rowset.CachedRowSet;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;
/**
*
* @author jimmyosmar
*/
public class Ejm_LlenarJTableDesdeDataBase extends JFrame{
DefaultTableModel dtmEjemplo;
JTable tblEjemplo;
JScrollPane scpEjemplo;
public Ejm_LlenarJTableDesdeDataBase()
{
tblEjemplo = new JTable();
scpEjemplo= new JScrollPane();
//Llenamos el modelo
dtmEjemplo = new DefaultTableModel(null,getColumnas());
setFilas();
tblEjemplo.setModel(dtmEjemplo);
scpEjemplo.add(tblEjemplo);
this.add(scpEjemplo);
this.setSize(500, 200);
scpEjemplo.setViewportView(tblEjemplo);
setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
}
//Encabezados de la tabla
private String[] getColumnas()
{
String columna[]=new String[]{"Columna1","Columna2","Columna3"};
return columna;
}
private void setFilas()
{
//Conectar a PostgreSQL\\
Ejm_ConectarPostgreSQL cnndb = new Ejm_ConectarPostgreSQL();
CachedRowSet crs = cnndb.Function("SELECT deptno, dname, loc FROM dept");
Object datos[]=new Object[3]; //Numero de columnas de la tabla
try {
while (crs.next()) {
for (int i = 0; i < 3; i++) {
datos[i] = crs.getObject(i + 1);
}
dtmEjemplo.addRow(datos);
}
crs.close();
} catch (Exception e) {
}
}
public static void main(String args[]) {
Ejm_LlenarJTableDesdeDataBase obj1 = new Ejm_LlenarJTableDesdeDataBase();
obj1.setVisible(true);
}
}
0 comentarios :
Publicar un comentario