hice este en capa datos
Código:
public ResultSet verProveedor() throws SQLException, ClassNotFoundException{ try{ conexion a = new conexion(); Connection cn = a.conexionn(); String sql="SELECT * FROM proveedor order by proveedor ASC"; PreparedStatement c = cn.prepareStatement(sql); try (ResultSet rs = c.executeQuery(sql)) { ResultSetMetaData rsMd = rs.getMetaData(); //asigno el entero de la cantidad de columnas int cantidadColumnas = rsMd.getColumnCount(); if (cantidadColumnas > 1) { return rs; } rs.close(); } } catch (SQLException | HeadlessException ex) { JOptionPane.showMessageDialog(null, ex); } return null; }
Acá en la capa control
Código:
y en vista tengo un button ver proveedores y un jtable public void mostrarProveedor() throws SQLException, ClassNotFoundException { // instancio un objeto n de la clase proveedor en capa datos Proveedor n=new Proveedor(); n.verProveedor(); ResultSet d= n.verProveedor(); ResultSetMetaData rsMd = d.getMetaData(); int cantidadColumnas = rsMd.getColumnCount(); DefaultTableModel modelo; modelo = new DefaultTableModel(); for (int i = 1; i <= cantidadColumnas; i++) { modelo.addColumn(rsMd.getColumnLabel(i)); } //Creando las filas para el JTable //rs.next() trae una fila de la consulta sql con c.executeQueru(sql) while (d.next()) { //creo un array como fila con la cantidad de las columnas Object[] fila = new Object[cantidadColumnas]; for (int i = 0; i < cantidadColumnas; i++) { fila[i]=d.getObject(i+1); } modelo.addRow(fila); } }