[ Foro de Java ]

JAVA OPERACIONES

18-May-2023 13:34
juan alaba
0 Respuestas

OPERACIONES CRUD JAVA 1
DISCULPEN SE ENCUENTRAN BIEN ESTOS CODIGOS JAVA
Consulta
select
S.descripcion AS NOMBRE_PRODUCTO,
d.cantidad_prod as cantidad_solicitada,
d.precio_total_prod as precio_total
from
STOCK_PRODUCTOS S
join detalle_facturas d on( s.codigo = d.codigo_producto)
join facturas f on (f.codigo = d.codigo_factura)
where
d.codigo_factura='&consulta'
-------------------------------------------

//Inciso a
   public int obtenerCantFacturasGeneradas() throws SQLException
   {
       //1. Conectar a la base de datos
       this.iniciarConexionBD();
       //2. Variable para almacenar el total de facturas almacenadas en la base de datos.
       int cantFacturas = 0;
   //------------------- COMPLETAR LA LÓGICA CORRESPONDIENTE ------------------------------------------------------------------------
       //3. definir espacio de trabajo para la declaración y ejecución de la consulta sql
       Statement stm = this.conexion.createStatement();
       //4. Definir el texto String de la consulta SQL.
       String sql = "SELECT count(*) as total_facturas from facturas";
       //5. Ejecutar la consulta y amacenar en el objeto ResultSet
        ResultSet tabla = stm.executeQuery(sql);
       //6. Recorrer el objeto ResultSet mediante un while y para cada iteración resolver:
                  while(tabla.next())
           {
           //6.1 En la única iteración, obtener y alamcenar el dato de la cantidad de facturas que arrojó la consulta SQL            
       cantFacturas = tabla.getInt("total_facturas");  
           }
   //----------------------------------------------------------------------------------------------------------------------------------
       //7. Cerrar la conexion a la base de datos    
       this.cerrarConexionBD();
       //8. Retornar el total de carreras que está almancenado en la base de datos
       return cantFacturas;
   }

BOTON INCISO A
private void jButton_mostrarCantFacturasActionPerformed(java.awt.event.ActionEvent evt) {                                                                
// TODO add your handling code here:
       //------- Implementar la lógica correspondiente -----------
       OperacionesCRUD obj_BD = OperacionesCRUD.getInstance();
       try
       {
           
           int cantFacturas = obj_BD.obtenerCantFacturasGeneradas();
       String cant = String.valueOf(cantFacturas);
       jTextField_cantFacturas.setText(cant);
                     
       }
       catch(SQLException err)
       {
           System.out.println(err.getMessage());
       }
       //-----------------------------------------------------------------------------------
   }

//Inciso b
   public Vector<String> obtenerListadoNombresProductosStock() throws SQLException
   {
       //1. Conectar a la base de datos
       this.iniciarConexionBD();
       //2. Crear el vector para almacenar la lista de nombres de productos en stock resultante de la consulta SQL a la base de datos.
       Vector<String> listadoNombresProductosStock = new Vector<>();  
   //------------------- COMPLETAR LA LÓGICA CORRESPONDIENTE ----------------------------------------------------------------------------------------
       //3. definir espacio de trabajo para la declaración y ejecución de la consulta sql
        Statement stm = this.conexion.createStatement();
       //4. Definir el texto String de la consulta SQL.
        String sql = "SELECT descripcion as \"Nombre de Producto\" FROM stock_productos";
       //5. Ejecutar la consulta y amacenar en el objeto ResultSet
       ResultSet tabla = stm.executeQuery(sql);
       //6. Recorrer el objeto ResultSet mediante un while y para cada iteración resolver:
           //En cada iteración:
            while(tabla.next())
           {
               //6.1. Obtener el nombre del producto de la fila actual del objeto ResultSet
         String valorColumna = tabla.getString("Nombre de Producto");
             
         //6.2. Almacenar en el vector creado en el paso 2. el valor de nombre de producto de la fila actual del objeto ResultSet
         
          listadoNombresProductosStock.add(valorColumna);
           }
   //--------------------------------------------------------------------------------------------------------------------------------------------------        
       //7. Cerrar la conexion a la base de datos      
       this.cerrarConexionBD();
       //8. Retornar el objeto vector con la lista de nombres de carreras almacenados en la base de datos
       return listadoNombresProductosStock;
   }

//BOTON INICISO B
private void jButton_mostrarListadoProductosStockActionPerformed(java.awt.event.ActionEvent evt) {                                                                    
       // TODO add your handling code here:
       //------- Implementar la lógica correspondiente  --------------------------        
       //1. Obtener la instancia única objeto de la clase OperacionesCRUD
       OperacionesCRUD obj_BD = OperacionesCRUD.getInstance();
       try
       {            
           //2. Obtener el vector lista con los códigos de facturas del método que consulta a la BD y que implementa el objeto obj_BD (OperacionesCRUD)
           Vector<String> listadoNombresProductosStock = obj_BD.obtenerListadoNombresProductosStock();
           //3. Crear el objeto DefaultTableModel del jTable_ListadoNombresProductosStock que debe mostrar el vector lista de códigos de facturas
           DefaultTableModel tablaVisual = (DefaultTableModel) jTable_ListadoNombresProductosStock.getModel();
           //4. Setear el componente jTable_ListadoNombresProductosStock, desde el objeto DefaultTableModel, con cero filas y cero columnas de datos a mostrar.
           tablaVisual.setRowCount(0);
           tablaVisual.setColumnCount(0);
           //5. Agregar, desde el objeto DefaultTableModel, la columna de datos con cabecera "Descripcion Productos en Stock" y vector lista de datos con los códgios de las facturas generadas.        
       
       tablaVisual.addColumn("Descripcion Productos en Stock",listadoNombresProductosStock );
       }
       catch(SQLException err)
       {
           err.printStackTrace();
       }  
       //----------------------------------------------------------------------------------------------------------------------------------------
   }


//Inciso c
   public ArrayList<Vector<String>> obtenerDetallesProductosXFactura(String pCodigoFactura) throws SQLException
   {
       //1. Conectar a la base de datos
       this.iniciarConexionBD();
       //2. Crear la matriz de datos para almacenar el detalle de los productos de la factura segun la consulta SQL, cada fila es un Vector de String
       ArrayList<Vector<String>> matrizDetallesProductosFactura = new ArrayList<>();
   //------------------- COMPLETAR LA LÓGICA CORRESPONDIENTE ----------------------------------------------------------------------------------------
       //3. definir espacio de trabajo para la declaración y ejecución de la consulta sql
       Statement stm = this.conexion.createStatement();
       //4. Definir el texto String de la consulta SQL.
       String sql = "SELECT S.DESCRIPCION as \"DESCRIPCION DE PRODUCTO\", D.cantidad_prod as \"Cantidad Solicitada\", D.precio_total_prod as \"Precio total del Producto\"\n" +
       "FROM DETALLE_FACTURAS D JOIN stock_productos S ON( S.codigo = D.codigo_producto)\n" +
                      "WHERE D.CODIGO_FACTURA = '"+pCodigoFactura+"'";
       
       //5. Ejecutar la consulta y amacenar en el objeto ResultSet
           ResultSet tabla = stm.executeQuery(sql);
       //6. Recorrer el objeto ResultSet mediante un while y para cada iteración resolver:
           //En cada iteración:
            while(tabla.next())
               {
               //6. Crear el Vector fila para almacenar los datos de cada fila según los campos de columnas de la consulta SQL.
               Vector filaDatos = new Vector <>();
               //6.1 Agregar al vector fila el dato del campo descripcion de la consulta SQL
               String Descripcion_Producto = tabla.getString("DESCRIPCION DE PRODUCTO");
               //6.2 Agregar al vector fila el dato del campo cantidad_prod de la consulta SQL
               String Cantidad_Producto = tabla.getString("Cantidad Solicitada");
               //6.3 Agregar al vector fila el dato del campo precio_total_prod de la consulta SQL                
               String Precio_Producto = tabla.getString("Precio total del Producto");
               //6.4 Agregar el ventor fila, con los datos de las tres columnas de la consulta SQL, a la tabla matriz de datos.
           
               
               filaDatos.add(Descripcion_Producto);
                     filaDatos.add(Cantidad_Producto);
                     filaDatos.add(Precio_Producto);
                     matrizDetallesProductosFactura.add(filaDatos);
              }
   //--------------------------------------------------------------------------------------------------------------------------------------------------                              
       //7. Cerrar la conexion a la base de datos
       this.cerrarConexionBD();
       //8. Retornar la matriz de datos con los resultados de la consulta SQL.
       return matrizDetallesProductosFactura;
   }
}
//BOTON INCISO C  
   private void jButton_mostrarDetallesFacturaActionPerformed(java.awt.event.ActionEvent evt) {                                                              
 // TODO add your handling code here:
       //------- Implementar la lógica correspondiente ---------------------------        
       //1. Obtener la instancia única objeto de la clase OperacionesCRUD
       OperacionesCRUD obj_BD = OperacionesCRUD.getInstance();
       //2. Obtener la lista de valores del modelo del jComboBox_listadoCodigosFacturas con los datos de códigos de las facturas generadas.
       DefaultComboBoxModel<String> recordList_Carr_Est = (DefaultComboBoxModel)jComboBox_listadoCodigosFacturas.getModel();
       //3. Obtener el código de factura seleccionado desde el combobox jComboBox_listadoCodigosFacturas
        String codigo = (String) recordList_Carr_Est.getSelectedItem();
       try
       {
           //4. Obtener la matriz de datos del detalle de productos de la factura que devuelve el método que consulta a la BD y que implementa el objeto obj_BD (OperacionesCRUD)
           ArrayList<Vector<String>> matrizDetallesProductosFactura = obj_BD.obtenerDetallesProductosXFactura(codigo);
           //5. Crear el objeto DefaultTableModel del jTable_detallesProductosFactura que debe mostrar la matriz de datos del detalle de la factura seleccionada para filtrar.
           DefaultTableModel tablaVisual = (DefaultTableModel) jTable_detallesProductosFactura.getModel();
           //6. Setear, desde el objeto DefaultTableModel, el componente jTable_detallesProductosFactura con cero filas a mostrar.
           tablaVisual.setRowCount(0);
           //7. Obtener la cantidad de filas que arroja la consulta a la base de datos almacenada en la matriz de datos.
           int total = matrizDetallesProductosFactura.size();
           //8. Recorrer cada fila de la matriz de datos con el detalle de productos de la factura y para cada iteración resolver:
           for (int i=0; i<total; i++){
               //8.1 En cada iteración, agregar al jTable_detallesProductosFactura, desde el objeto DefaultTableModel, los datos de cada una de las filas que están almacenadas en la matriz de datos.                
           Vector Fila = (Vector) matrizDetallesProductosFactura.get(i);
           tablaVisual.addRow(Fila);
       }
       }
       catch(SQLException err)
       {
           err.printStackTrace();
       }  
    }




(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)