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); } }