Foros del Web » Programación para mayores de 30 ;) » Java »

Jtable en 3 capas

Estas en el tema de Jtable en 3 capas en el foro de Java en Foros del Web. Hola, si yo lo ejecuto en un buton funciona perfecto, pero el profe me pide que si o si lo ponga en una capa datos, ...
  #1 (permalink)  
Antiguo 15/11/2013, 11:56
 
Fecha de Ingreso: noviembre-2006
Mensajes: 102
Antigüedad: 17 años, 5 meses
Puntos: 0
Jtable en 3 capas

Hola, si yo lo ejecuto en un buton funciona perfecto, pero el profe me pide que si o si lo ponga en una capa datos, en otra controlador y en la vista solo el form.

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

        }
y en vista tengo un button ver proveedores y un jtable
  #2 (permalink)  
Antiguo 16/11/2013, 09:02
 
Fecha de Ingreso: mayo-2013
Ubicación: Córdoba
Mensajes: 139
Antigüedad: 11 años
Puntos: 9
Respuesta: Jtable en 3 capas

En la capa datos deja lo que seria traer los datos de la base de datos, te recomiendo que devuelvas una List y no un ResultSet, recuerda de cerrar la conexion con la bd. En la capa controlador, seria tu segundo metodo, el que crea el modelo.

Etiquetas: capas, clase, jtable, string
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:04.