Java - Operaciones Crud en java netbeasn con mongodb

 
Vista:
sin imagen de perfil

Operaciones Crud en java netbeasn con mongodb

Publicado por Antonio (5 intervenciones) el 16/02/2021 14:56:41
hola alguien talvez tenga un ejemplo de operaciones CRUD Mongo db en java NetBeans sin interfaz grafica???
Porfa si me lo puede pasar se lo agradecería
gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
-1
Responder
sin imagen de perfil

Operaciones Crud en java netbeasn con mongodb

Publicado por marther (5 intervenciones) el 11/12/2022 18:01:13
CRUD
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package Logica_Operaciones_BD;


import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
import java.util.Vector;

/**
*
* @author harol
*/
public final class OperacionesCRUD
{
private static OperacionesCRUD lainstance = new OperacionesCRUD();
private Connection conexion;

private OperacionesCRUD()
{
}

public static OperacionesCRUD getInstance()
{
return lainstance;
}

private void iniciarConexionBD()//INICIAR LA CONEXIONA LA BD
{
this.conexion = ConexionBD.iniciarConexion();
}

private void cerrarConexionBD() throws SQLException //CERRAR LA CONEXION A LA BD
{
if (this.conexion != null && this.conexion.isClosed() == false) //valida si aun está habierta la conexion BD
{
this.conexion.close();
}
}
//inciso 1.
public int obtenerCantCarreras() throws SQLException //CONSULTA 1, PARTE 1.
{
//1. Conectar a la base de datos
this.iniciarConexionBD();
//2. Variable para almacenar el total de carreras almacenadas en la base de datos.
int totalCarreras = 0;
//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_carreras from carreras c";
//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())
{
totalCarreras = tabla.getInt("total_carreras");
}
//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 totalCarreras;
}
//inciso 2.
public Vector<String> obtenerListadoCarreras() throws SQLException //CONSULTA 2
{
//1. Conectar a la base de datos
this.iniciarConexionBD();
//2. Crear el vector para almacenar la lista de nombres de carreras resultante de la consulta SQL a la base de datos.
Vector<String> listado_carreras = new Vector<>();
//complete la lógica del bloque de código que resuelve:
//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 c.nombre as nombres_carreras from carreras c";
//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())
{
String nombre_carrera = tabla.getString("nombres_carreras");
listado_carreras.add(nombre_carrera);
}
//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 listado_carreras;
}
//OK
public Vector<String> obtenerListaParalelos() throws SQLException
{
//1. Conectar a la base de datos
this.iniciarConexionBD();
//2. Crear el vector para almacenar la lista de códgidos de paralelos resultante de la consulta SQL a la base de datos.
Vector<String> lista_paralelos = new Vector<>();
//complete la lógica del bloque de código que resuelve:
//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 p.nombre as PARALELOS from paralelos p";
//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. Obtener el valor de columna de la fila actual del objeto ResultSet
String valorColumna = tabla.getString("PARALELOS");
//6.2. Almacenar en el vector creado en el paso 2. el valor de columna de la fila actual del objeto ResultSet
lista_paralelos.add(valorColumna);
}
//7. Cerrar la conexion a la base de datos
this.cerrarConexionBD();
//8. Retornar el objeto vector con la lista de códigos de paralelos almacenados en la base de datos
return lista_paralelos;
}
//Inciso 3
public Vector<String> obtenerListaParalelosCarrera(String p_nombre_carrera) throws SQLException
{
//1. Conectar a la base de datos
this.iniciarConexionBD();
//2. Crear el vector para almacenar la lista de códgidos de paralelos resultante de la consulta SQL a la base de datos.
Vector<String> lista_paralelos_codigo = new Vector<>();
//complete la lógica del bloque de código que resuelve:
//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 p.nombre, p.cod_paralelo FROM paralelos p join carreras c on p.cod_carrera = c.cod_carrera where c.nombre = '"+p_nombre_carrera+"'";
//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())
{
String valorColumna = tabla.getString("nombre");
lista_paralelos_codigo.add(valorColumna);
}
//7. Cerrar la conexion a la base de datos
this.cerrarConexionBD();
//8. Retornar el objeto vector con la lista de códigos de paralelos almacenados en la base de datos
return lista_paralelos_codigo;
}
//Inciso 4
public ArrayList<Vector<String>> obtenerEstudInscritosPorCarrera(String p_nombre_carrera) throws SQLException
{
//1. Conectar a la base de datos
this.iniciarConexionBD();
//2. Crear la matriz de datos para almacenar la consulta SQL, cada fila es un Vector de String
ArrayList<Vector<String>> consulta = new ArrayList<>();
//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 e.cedula, e.nombres, e.apellidos from inscripciones_estudiantes i \n" +
"JOIN estudiantes e ON (i.cedula = e.cedula)\n" +
"JOIN carreras c ON (i.cod_carrera = c.cod_carrera) where c.nombre = '"+p_nombre_carrera+"'";
//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())
{
Vector <String> datos = new Vector <>();
String cedula = tabla.getString("cedula");
datos.add(cedula);
String nombre = tabla.getString("nombres");
datos.add(nombre);
String apellido = tabla.getString("apellidos");
datos.add(apellido);
consulta.add(datos);

}
//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 consulta;
}
//Inciso 5
public ArrayList<Vector<String>> obtenerEstudInscritosPorParalelo(String p_codigo_paralelo) throws SQLException
{
//1. Conectar a la base de datos
this.iniciarConexionBD();
//2. Crear la matriz de datos para almacenar la consulta SQL, cada fila es un Vector de String
ArrayList<Vector<String>> consulta = new ArrayList<>();
//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 e.cedula, e.nombres, e.apellidos from inscripciones_estudiantes i \n" +
"JOIN estudiantes e ON (i.cedula = e.cedula)\n" +
"JOIN paralelos p ON (i.cod_paralelo = p.cod_paralelo ) where p.nombre = '"+p_codigo_paralelo+"'";
//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())
{
Vector datos = new Vector <>();
String cedula = tabla.getString("cedula");
datos.add(cedula);
String nombre = tabla.getString("nombres");
datos.add(nombre);
String apellido = tabla.getString("apellidos");
datos.add(apellido);
consulta.add(datos);
}
//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 consulta;
}

}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Operaciones Crud en java netbeasn con mongodb

Publicado por EDU (5 intervenciones) el 13/05/2023 20:55:04
//inciso 1.
public int obtenerCantCarreras() throws SQLException //CONSULTA 1, PARTE 1.
{
//1. Conectar a la base de datos
this.iniciarConexionBD();
//2. Variable para almacenar el total de carreras almacenadas en la base de datos.
int total_carreras = 0;
//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\n" +
" count(*) as total_carreras\n" +
" from\n" +
" carreras c";
//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()) {
total_carreras = tabla.getInt("total_carreras");
}
//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 total_carreras;
}
//inciso 2.
public Vector<String> obtenerListadoCarreras() throws SQLException //CONSULTA 2
{
//1. Conectar a la base de datos
this.iniciarConexionBD();
//2. Crear el vector para almacenar la lista de nombres de carreras resultante de la consulta SQL a la base de datos.
Vector<String> lista_carreras = new Vector<>();
//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\n" +
" c.nombre as nombres_carreras\n" +
" from \n" +
" carreras c";
//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()) {
String carrera = tabla.getString("nombres_carreras");
lista_carreras.add(carrera);
}
//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 lista_carreras;
}
//OK
public Vector<String> obtenerListaParalelos() throws SQLException
{
//1. Conectar a la base de datos
this.iniciarConexionBD();
//2. Crear el vector para almacenar la lista de códgidos de paralelos resultante de la consulta SQL a la base de datos.
Vector<String> lista_paralelos = new Vector<>();

//complete la lógica del bloque de código que resuelve:
//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 p.nombre as PARALELOS from paralelos p";
//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. Obtener el valor de columna de la fila actual del objeto ResultSet
String valorColumna = tabla.getString("PARALELOS");
//6.2. Almacenar en el vector creado en el paso 2. el valor de columna de la fila actual del objeto ResultSet
lista_paralelos.add(valorColumna);
}
//7. Cerrar la conexion a la base de datos
this.cerrarConexionBD();
//8. Retornar el objeto vector con la lista de códigos de paralelos almacenados en la base de datos
return lista_paralelos;
}
//Inciso 3
public Vector<String> obtenerListaParalelosCarrera(String p_nombre_carrera) throws SQLException
{
//1. Conectar a la base de datos
this.iniciarConexionBD();
//2. Crear el vector para almacenar la lista de códgidos de paralelos resultante de la consulta SQL a la base de datos.
Vector<String> lista_paralelos = new Vector<String>();
//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\n" +
" p.nombre as nombres_paralelos\n" +
" from \n" +
" paralelos p\n" +
" join carreras c on(p.cod_carrera = c.cod_carrera)\n" +
" where\n" +
" c.nombre = '" + p_nombre_carrera + "'";
//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()) {
String paralelo = tabla.getString("nombres_paralelos");
lista_paralelos.add(paralelo);
}
//7. Cerrar la conexion a la base de datos
this.cerrarConexionBD();
//8. Retornar el objeto vector con la lista de códigos de paralelos almacenados en la base de datos
return lista_paralelos;
}
//Inciso 4
public ArrayList<Vector<String>> obtenerEstudInscritosPorCarrera(String p_nombre_carrera) throws SQLException
{
//1. Conectar a la base de datos
this.iniciarConexionBD();
//2. Crear la matriz de datos para almacenar la consulta SQL, cada fila es un Vector de String
ArrayList<Vector<String>> matriz_estudiantes = new ArrayList<Vector<String>>();
//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\n" +
" i.cedula as cedula_est,\n" +
" e.nombres as nombres_est,\n" +
" e.apellidos as apellidos_est\n" +
" from\n" +
" inscripciones_estudiantes i\n" +
" join estudiantes e on(i.cedula = e.cedula)\n" +
" join carreras c on(i.cod_carrera = c.cod_carrera)\n" +
" where\n" +
" c.nombre = '" + p_nombre_carrera + "'";
//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()) {
String cedula = tabla.getString("cedula_est");
String nombres = tabla.getString("nombres_est");
String apellidos = tabla.getString("apellidos_est");
Vector<String> fila_estudiante = new Vector<String>();
fila_estudiante.add(cedula);
fila_estudiante.add(nombres);
fila_estudiante.add(apellidos);
matriz_estudiantes.add(fila_estudiante);
}
//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 matriz_estudiantes;
}
//Inciso 5
public ArrayList<Vector<String>> obtenerEstudInscritosPorParalelo(String p_codigo_paralelo) throws SQLException
{
//1. Conectar a la base de datos
this.iniciarConexionBD();
//2. Crear la matriz de datos para almacenar la consulta SQL, cada fila es un Vector de String
ArrayList<Vector<String>> matriz_estudiantes = new ArrayList<Vector<String>>();

//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\n" +
" i.cedula as cedula_est,\n" +
" e.nombres as nombres_est,\n" +
" e.apellidos as apellidos_est\n" +
" from\n" +
" inscripciones_estudiantes i\n" +
" join estudiantes e on(i.cedula= e.cedula)\n" +
" join paralelos p on (i.cod_paralelo = p.cod_paralelo)\n" +
" where\n" +
" p.nombre = '" + p_codigo_paralelo + "'";
//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()) {
String cedula = tabla.getString("cedula_est");
String nombres = tabla.getString("nombres_est");
String apellidos = tabla.getString("apellidos_est");
Vector<String> fila_estudiante = new Vector<String>();
fila_estudiante.add(cedula);
fila_estudiante.add(nombres);
fila_estudiante.add(apellidos);
matriz_estudiantes.add(fila_estudiante);
}
//7. Cerrar la conexion a la base de datos
this.cerrarConexionBD();

//8. Retornar la matriz de datos con los resultados de la consulta SQL.
System.out.println(matriz_estudiantes);
return matriz_estudiantes;

}

}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Operaciones Crud en java netbeasn con mongodb

Publicado por EDU (5 intervenciones) el 13/05/2023 21:15:29
ESTO VA EN LA BASE DE DATOS

--1.el totla de carreras que oferta el itb
select
count(*) as total_carreras
from
carreras c

--2.el listado con los nombre de cada carrera que oferta el itb
select
c.nombre as nombres_carreras
from
carreras c

--3.el listado de paralelos con sus respectovos nombre a filtrar por nombre de carrera
select
p.nombre as nombre_paralelo
from
paralelos p
join
carreras c on(p.cod_carrera = c.cod_carrera)
where
c.nombre = '&nombre_carrera'

-4.el listado de estudiante (cedula, nombre y apellido)inscritos a filtrar por carreras
select
i.cedula as cedula_est,
e.nombres as nombre_est,
e.apellidos as apellidos_est
from
inscripciones_estudiantes i
join estudiantes e on(i.cedula = e.cedula)
join carreras c on(i.cod_carrera = c.cod_carrera)
where
c.nombre = '&nombre_carrera'

5. el lstado de los estudiantes (cedula, nombre y apellido) inscripciones a filtrar por nombre de paralelo

select
i.cedula as cedula_est,
e.nombres as nombres_est,
e.apellidos as apellidos_est
from
inscripciones_estudiantes i
join estudiantes e on(i.cedula = e.cedula)
join paralelos p on(i.cod_paralelo = p.cod_paralelo)
where
p.nombre = '&codigo_paralelo'
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Operaciones Crud en java netbeasn con mongodb

Publicado por UTACHIUCHIHA (5 intervenciones) el 23/05/2023 01:28:41
--c. El listado de estudiantes con los datos de cédula, nombres y apellidos, a filtrar, por
--nombre de la carrera en que se inscribió en la UBE
select
i.estudiante_cedula as cedula
p.nombres as nombres,
p.apellidos as apellidos,
p.sexo as sexo
from inscripciones i
join estudiantes e on i.estudiante_cedula = e.persona_cedula
join personas p on p.cedula = e.persona_cedula
join carreras c on c.codigo_carr= i.carrera_codigo_carr
where c.nombre= '&nombre_carrera'

///////ORACLE///////
private void jButton_MostrarTotalPersonasActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
//------- Implementar la lógica correspondiente (descomentar el código base con comentarios de párrafo /* */) -----------
OperacionesCRUD obj_BD = OperacionesCRUD.getInstance();
try
{
int cantidad_personas = obj_BD.obtenerCantPersonasAdmisiones();

String txtCantidadPersonas = String.valueOf(cantidad_personas);
total_personas_jTextField.setText(txtCantidadPersonas);

}
catch(SQLException err)
{
System.out.println(err.getMessage());
}
//-----------------------------------------------------------------------------------
}
//OK
private void jButton_mostrarCarrerasUBEActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
//------- Implementar la lógica correspondiente (descomentar el código base con comentarios de párrafo /* */) ---------------------------

//1. Obtener la instancia única objeto de la clase OperacionesCRUD
OperacionesCRUD obj_BD = OperacionesCRUD.getInstance();
try
{
//2. Obtener el vector lista de carreras del método que consulta a la BD y que implementa el objeto obj_BD (OperacionesCRUD)
Vector<String> listado_carreras = obj_BD.obtenerListadoCarreras();
//3. Crear el objeto DefaultTableModel del jTable_ListadoCarrerasUBE que debe mostrar el vector lista de carreras
DefaultTableModel tablaModelo = (DefaultTableModel) jTable_ListadoCarrerasUBE.getModel();
//4. Setear el componente jTable_ListadoCarrerasUBE, desde el objeto DefaultTableModel, con cero filas y cero columnas de datos a mostrar.
tablaModelo.setRowCount(0);
tablaModelo.setColumnCount(0);
//5. Agregar, desde el objeto DefaultTableModel, la columna de datos con cabecera "Nombres de Carreras" y vector lista de datos con los nombres de las carreras.
tablaModelo.addColumn("Nombres de Carreras", listado_carreras);
}
catch(SQLException err)
{
err.printStackTrace();
}

//----------------------------------------------------------------------------------------------------------------------------------------
}

private void formComponentShown(java.awt.event.ComponentEvent evt) {
// TODO add your handling code here:
OperacionesCRUD obj_BD = OperacionesCRUD.getInstance();
DefaultComboBoxModel<String> recordList_Carr_Est = (DefaultComboBoxModel)jComboBox_Listado_CarrerasUBE.getModel();
recordList_Carr_Est.removeAllElements();
try
{
Vector<String> listado_carreras = obj_BD.obtenerListadoCarreras();
int cant_carreras = listado_carreras.size();
for (int fila = 0; fila < cant_carreras; fila++)
{
String nombre_carrera = listado_carreras.get(fila);
recordList_Carr_Est.addElement(nombre_carrera);
}
recordList_Carr_Est.setSelectedItem(listado_carreras.get(0));
}
catch(SQLException err)
{
err.printStackTrace();
}
}

private void jButton_mostrarEstudiantesUBEActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
//------- Implementar la lógica correspondiente (descomentar el código base con comentarios de párrafo /* */) ---------------------------

//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_Listado_CarrerasUBE de lista de universidades.
DefaultComboBoxModel comboBoxModelo = (DefaultComboBoxModel) jComboBox_Listado_CarrerasUBE.getModel();
//3. Obtener la carrera seleccionado desde el combobox jComboBox_Listado_CarrerasUBE
String carrera = String.valueOf(comboBoxModelo.getSelectedItem());
try
{
//4. Obtener la matriz de datos que devuelve el método que consulta a la BD y que implementa el objeto obj_BD (OperacionesCRUD)
ArrayList<Vector<String>> matriz_datos = obj_BD.obtenerEstudiantesInscritosCarrerasUBE(carrera);
//5. Crear el objeto DefaultTableModel del jTable que debe mostrar la matriz de datos de los estudiantes que alcanzaron cupos en una universidad en particular.
DefaultTableModel tablaModelo = (DefaultTableModel) jTable_ListadoEstudiantesUBE.getModel();
//6. Setear, desde el objeto DefaultTableModel, el componente jTable_ListadoEstudiantesUBE con cero filas a mostrar.
tablaModelo.setRowCount(0);
//7. Obtener la cantidad de filas que arroja la consulta a la base de datos almacenada en la matriz de datos.
//8. Recorrer cada fila de la matriz de datos de los estudiantes con cupos en una universidad en particular y para cada iteración resolver:
for(Vector<String> filaDatos : matriz_datos) {
//8.1 En cada iteración, agregar al jTable_ListadoEstudiantesUBE, desde el objeto DefaultTableModel, los datos de cada una de las filas que están almacenadas en la matriz de datos.
tablaModelo.addRow(filaDatos);
}

}
catch(SQLException err)
{
err.printStackTrace();
}


------NetBEans--
----OPERACIONES CRUD----
public int obtenerCantPersonasAdmisiones() throws SQLException
{
//1. Conectar a la base de datos
this.iniciarConexionBD();
//2. Variable para almacenar el total de personas registradas por adminisiones almacenadas en la base de datos.
int cant_personas = 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 query = "select COUNT(*) as TOTAL_Personas "
+ " from personas p";
//5. Ejecutar la consulta y amacenar en el objeto ResultSet
ResultSet tabla = stm.executeQuery(query);
//6. Recorrer el objeto ResultSet mediante un while y para cada iteración resolver:
while(tabla.next()) {
//6.1 En cada iteración, obtener y alamcenar el dato de la cantidad de carreras que arrojó la consulta SQL
cant_personas = tabla.getInt("TOTAL_Personas");
}

//----------------------------------------------------------------------------------------------------------------------------------
//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 cant_personas;
}

//OK
public Vector<String> obtenerListadoCarreras() throws SQLException
{
//1. Conectar a la base de datos
this.iniciarConexionBD();
//2. Crear el vector para almacenar la lista de nombres de carreras resultante de la consulta SQL a la base de datos.
Vector<String> listado_carreras = 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 query = "select c.nombre as NOMBRES_CARRERAS "
+ " from carreras c";
//5. Ejecutar la consulta y amacenar en el objeto ResultSet
ResultSet tabla = stm.executeQuery(query);
//6. Recorrer el objeto ResultSet mediante un while y para cada iteración resolver:
while(tabla.next()) {
//En cada iteración:
//6.1. Obtener el valor de columna de la fila actual del objeto ResultSet
String nombre_carrera = tabla.getString("NOMBRES_CARRERAS");
//6.2. Almacenar en el vector creado en el paso 2. el valor de columna de la fila actual del objeto ResultSet
listado_carreras.add(nombre_carrera);
}
//--------------------------------------------------------------------------------------------------------------------------------------------------
//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 listado_carreras;
}

//OK
public ArrayList<Vector<String>> obtenerEstudiantesInscritosCarrerasUBE(String p_nombre_carreraUBE) throws SQLException
{
//1. Conectar a la base de datos
this.iniciarConexionBD();
//2. Crear la matriz de datos para almacenar la consulta SQL, cada fila es un Vector de String
ArrayList<Vector<String>> matriz_datos = 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 query = "select \n" +
" i.estudiante_cedula as cedula, \n" +
" p.nombres as nombres, \n" +
" p.apellidos as apellidos,\n" +
" p.sexo as sexo\n" +
" from inscipciones i\n" +
" join estudiantes e on i.estudiante_cedula = e.persona_cedula\n" +
" join personas p on p.cedula = e.persona_cedula\n" +
" join carreras c on c.codigo_carr = i.carrera_codigo_carr\n" +
" where c.nombre = '"+p_nombre_carreraUBE+"'";
//5. Ejecutar la consulta y amacenar en el objeto ResultSet
ResultSet tabla = stm.executeQuery(query);
//6. Recorrer el objeto ResultSet mediante un while y para cada iteración resolver:
while(tabla.next()) {
//En cada iteración:
//6. Crear el Vector fila para almacenar los datos de cada fila según los campos de columnas de la consulta SQL.
Vector<String> datosEstudiantes = new Vector<>();
//6.1 Agregar al vector fila el dato de la columna CEDULA de la consulta SQL
String cedula = tabla.getString("cedula");
datosEstudiantes.add(cedula);
//6.2 Agregar al vector fila el dato de la columna NOMBRES de la consulta SQL
String nombres = tabla.getString("nombres");
datosEstudiantes.add(nombres);
//6.3 Agregar al vector fila el dato de la columna APELLIDOS de la consulta SQL
String apellidos = tabla.getString("apellidos");
datosEstudiantes.add(apellidos);
//6.4 Agregar al vector fila el dato de la columna SEXO de la consulta SQL
String sexo = tabla.getString("sexo");
datosEstudiantes.add(sexo);
//6.5 Agregar el ventor fila con los datos de las tres columnas de la consulta SQL a la tabla matriz de datos.
matriz_datos.add(datosEstudiantes);
}

//--------------------------------------------------------------------------------------------------------------------------------------------------
//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 matriz_datos;
}
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Operaciones Crud en java netbeasn con mongodb

Publicado por Michael (5 intervenciones) el 18/05/2023 09:30:03
package GUI;

import Logica_Operaciones_BD.OperacionesCRUD;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Vector;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.DefaultComboBoxModel;
import javax.swing.event.TableModelListener;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableModel;

/**
*
* @author harol
*/
public class VentanaPrincipalJFrame extends javax.swing.JFrame {

/**
* Creates new form VentanaPrincipalJFrame
*/
public VentanaPrincipalJFrame() {
initComponents();
}

/**
* This method is called from within the constructor to initialize the form.
* WARNING: Do NOT modify this code. The content of this method is always
* regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {

jPanel2 = new javax.swing.JPanel();
jLabel1 = new javax.swing.JLabel();
total_carreras_jTextField = new javax.swing.JTextField();
jButton_mostrarTotalCarreras = new javax.swing.JButton();
jPanel3 = new javax.swing.JPanel();
jScrollPane1 = new javax.swing.JScrollPane();
jTable_ListaCarreras = new javax.swing.JTable();
jButton_mostrarCarreras = new javax.swing.JButton();
jPanel1 = new javax.swing.JPanel();
jScrollPane2 = new javax.swing.JScrollPane();
jTable_ListaParalelos = new javax.swing.JTable();
jButton_mostrarParalelosCarrera = new javax.swing.JButton();
jComboBox_Listado_Carreras_Paralelos = new javax.swing.JComboBox<>();
jLabel2 = new javax.swing.JLabel();
jPanel4 = new javax.swing.JPanel();
jScrollPane3 = new javax.swing.JScrollPane();
jTable_ListaEstudiantes = new javax.swing.JTable();
jLabel3 = new javax.swing.JLabel();
jComboBox_Listado_Carreras_Est = new javax.swing.JComboBox<>();
jButton_mostrarEstudiantesCarrera = new javax.swing.JButton();
jLabel4 = new javax.swing.JLabel();
jComboBox_Listado_Paralelos_Est = new javax.swing.JComboBox<>();
jButton_mostrarEstudiantesParalelo = new javax.swing.JButton();

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
addComponentListener(new java.awt.event.ComponentAdapter() {
public void componentShown(java.awt.event.ComponentEvent evt) {
formComponentShown(evt);
}
});

jPanel2.setBorder(javax.swing.BorderFactory.createTitledBorder("Inciso 1"));

jLabel1.setText("Total de Carreras que oferta ITB:");

total_carreras_jTextField.setEditable(false);

jButton_mostrarTotalCarreras.setText("Mostrar");
jButton_mostrarTotalCarreras.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton_mostrarTotalCarrerasActionPerformed(evt);
}
});

javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);
jPanel2.setLayout(jPanel2Layout);
jPanel2Layout.setHorizontalGroup(
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel2Layout.createSequentialGroup()
.addContainerGap()
.addComponent(jLabel1)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(total_carreras_jTextField, javax.swing.GroupLayout.PREFERRED_SIZE, 113, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel2Layout.createSequentialGroup()
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jButton_mostrarTotalCarreras)
.addContainerGap())
);
jPanel2Layout.setVerticalGroup(
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel2Layout.createSequentialGroup()
.addContainerGap()
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel1)
.addComponent(total_carreras_jTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(18, 18, 18)
.addComponent(jButton_mostrarTotalCarreras)
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);

jPanel3.setBorder(javax.swing.BorderFactory.createTitledBorder("Inciso 2"));

jTable_ListaCarreras.setModel(new javax.swing.table.DefaultTableModel(
new Object [][] {
{null},
{null},
{null},
{null}
},
new String [] {
"Listado de nombres de Carreras"
}
));
jScrollPane1.setViewportView(jTable_ListaCarreras);

jButton_mostrarCarreras.setText("Mostrar");
jButton_mostrarCarreras.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton_mostrarCarrerasActionPerformed(evt);
}
});

javax.swing.GroupLayout jPanel3Layout = new javax.swing.GroupLayout(jPanel3);
jPanel3.setLayout(jPanel3Layout);
jPanel3Layout.setHorizontalGroup(
jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel3Layout.createSequentialGroup()
.addGap(238, 238, 238)
.addComponent(jButton_mostrarCarreras)
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addGroup(jPanel3Layout.createSequentialGroup()
.addContainerGap()
.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 0, Short.MAX_VALUE)
.addContainerGap())
);
jPanel3Layout.setVerticalGroup(
jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel3Layout.createSequentialGroup()
.addContainerGap()
.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 121, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(jButton_mostrarCarreras)
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);

jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder("Inciso 3"));

jTable_ListaParalelos.setModel(new javax.swing.table.DefaultTableModel(
new Object [][] {
{null},
{null},
{null},
{null}
},
new String [] {
"Listado de paralelos del ITB"
}
));
jScrollPane2.setViewportView(jTable_ListaParalelos);

jButton_mostrarParalelosCarrera.setText("Mostrar");
jButton_mostrarParalelosCarrera.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton_mostrarParalelosCarreraActionPerformed(evt);
}
});

jComboBox_Listado_Carreras_Paralelos.setModel(new javax.swing.DefaultComboBoxModel<>(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" }));

jLabel2.setText("Seleccione la carrera:");

javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
jPanel1.setLayout(jPanel1Layout);
jPanel1Layout.setHorizontalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addContainerGap()
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 0, Short.MAX_VALUE)
.addGroup(jPanel1Layout.createSequentialGroup()
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addComponent(jLabel2)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup()
.addComponent(jComboBox_Listado_Carreras_Paralelos, javax.swing.GroupLayout.PREFERRED_SIZE, 186, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(18, 18, 18)))
.addComponent(jButton_mostrarParalelosCarrera)))
.addContainerGap())
);
jPanel1Layout.setVerticalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addContainerGap()
.addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 111, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jLabel2)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jComboBox_Listado_Carreras_Paralelos, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jButton_mostrarParalelosCarrera))
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);

jPanel4.setBorder(javax.swing.BorderFactory.createTitledBorder("Inciso 4 y 5"));

jTable_ListaEstudiantes.setModel(new javax.swing.table.DefaultTableModel(
new Object [][] {
{null, null, null},
{null, null, null},
{null, null, null},
{null, null, null}
},
new String [] {
"Cédula", "Nombres", "Apellidos"
}
));
jScrollPane3.setViewportView(jTable_ListaEstudiantes);

jLabel3.setText("Seleccione la carrera:");

jComboBox_Listado_Carreras_Est.setModel(new javax.swing.DefaultComboBoxModel<>(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" }));
jComboBox_Listado_Carreras_Est.setToolTipText("");

jButton_mostrarEstudiantesCarrera.setText("Mostrar");
jButton_mostrarEstudiantesCarrera.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton_mostrarEstudiantesCarreraActionPerformed(evt);
}
});

jLabel4.setText("Seleccione el paralelo:");

jComboBox_Listado_Paralelos_Est.setModel(new javax.swing.DefaultComboBoxModel<>(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" }));

jButton_mostrarEstudiantesParalelo.setText("Mostrar");
jButton_mostrarEstudiantesParalelo.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton_mostrarEstudiantesParaleloActionPerformed(evt);
}
});

javax.swing.GroupLayout jPanel4Layout = new javax.swing.GroupLayout(jPanel4);
jPanel4.setLayout(jPanel4Layout);
jPanel4Layout.setHorizontalGroup(
jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel4Layout.createSequentialGroup()
.addContainerGap()
.addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jScrollPane3, javax.swing.GroupLayout.DEFAULT_SIZE, 635, Short.MAX_VALUE)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel4Layout.createSequentialGroup()
.addGap(0, 0, Short.MAX_VALUE)
.addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addGroup(jPanel4Layout.createSequentialGroup()
.addComponent(jLabel3)
.addGap(18, 18, 18)
.addComponent(jComboBox_Listado_Carreras_Est, javax.swing.GroupLayout.PREFERRED_SIZE, 272, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(jPanel4Layout.createSequentialGroup()
.addComponent(jLabel4)
.addGap(18, 18, 18)
.addComponent(jComboBox_Listado_Paralelos_Est, javax.swing.GroupLayout.PREFERRED_SIZE, 158, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addGap(18, 18, 18)
.addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jButton_mostrarEstudiantesCarrera)
.addComponent(jButton_mostrarEstudiantesParalelo, javax.swing.GroupLayout.Alignment.TRAILING))))
.addContainerGap())
);
jPanel4Layout.setVerticalGroup(
jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel4Layout.createSequentialGroup()
.addContainerGap()
.addComponent(jScrollPane3, javax.swing.GroupLayout.PREFERRED_SIZE, 147, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel3)
.addComponent(jComboBox_Listado_Carreras_Est, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jButton_mostrarEstudiantesCarrera))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel4)
.addComponent(jComboBox_Listado_Paralelos_Est, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jButton_mostrarEstudiantesParalelo))
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);

javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(177, 177, 177)
.addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jPanel4, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGroup(layout.createSequentialGroup()
.addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(18, 18, 18)
.addComponent(jPanel3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))))
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jPanel3, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jPanel4, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(6, 6, 6))
);

pack();
}// </editor-fold>

private void jButton_mostrarTotalCarrerasActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
//1. Obtener la instancia única objeto de la clase OperacionesCRUD
OperacionesCRUD obj_BD = OperacionesCRUD.getInstance();
try
{
//2. Obtener la cantidad de carreras del método (obtenerCantCarreras) que consulta a la BD y que implementa el objeto obj_BD (OperacionesCRUD)
int total_carreras = obj_BD.obtenerCantCarreras();
//3. Mostrar en el componente visual total_carreras_jTextField el valor de cantidad de carreras obtenido en el paso 2.
String cadena = String.valueOf(total_carreras);
total_carreras_jTextField.setText(cadena);
}
catch(SQLException err)
{
System.out.println(err.getMessage());
}
}
//OK
private void jButton_mostrarCarrerasActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
//1. Obtener la instancia única objeto de la clase OperacionesCRUD
OperacionesCRUD obj_BD = OperacionesCRUD.getInstance();
try
{
//2. Obtener el vector lista de carreras del método (obtenerListadoCarreras) que consulta a la BD y que implementa el objeto obj_BD (OperacionesCRUD)
Vector<String> lista_carreras = obj_BD.obtenerListadoCarreras();
//3. Crear el objeto DefaultTableModel del jTable_ListaCarreras que debe mostrar el vector lista de carreras
DefaultTableModel modeloTabla = (DefaultTableModel) jTable_ListaCarreras.getModel();
//4. Setear el componente jTable_ListaCarreras con cero filas y columna de datos a mostrar.
modeloTabla.setColumnCount(0);
modeloTabla.setRowCount(0);
//5. Agregar la columna de datos con cabecera "Listado de Paralelos del ITB" y vector lista de datos.
modeloTabla.addColumn("Listado de Carreras", lista_carreras);
}
catch(SQLException err)
{
err.printStackTrace();
}
}

private void formComponentShown(java.awt.event.ComponentEvent evt) {
// TODO add your handling code here:
OperacionesCRUD obj_BD = OperacionesCRUD.getInstance();
DefaultComboBoxModel<String> recordList_Carr_Est = (DefaultComboBoxModel)jComboBox_Listado_Carreras_Est.getModel();
DefaultComboBoxModel<String> recordList_Carr_Paralelos = (DefaultComboBoxModel)jComboBox_Listado_Carreras_Paralelos.getModel();

recordList_Carr_Est.removeAllElements();
recordList_Carr_Paralelos.removeAllElements();

try
{
Vector<String> listado_carreas = obj_BD.obtenerListadoCarreras();
int cant_carreras = listado_carreas.size();
for (int fila = 0; fila < cant_carreras; fila++)
{
String nombre_carrera = listado_carreas.get(fila);
recordList_Carr_Est.addElement(nombre_carrera);
recordList_Carr_Paralelos.addElement(nombre_carrera);
}
recordList_Carr_Est.setSelectedItem(listado_carreas.get(0));
recordList_Carr_Paralelos.setSelectedItem(listado_carreas.get(0));
}

catch(SQLException err)
{
err.printStackTrace();
}

DefaultComboBoxModel<String> recordList_Paralelos_Est = (DefaultComboBoxModel)jComboBox_Listado_Paralelos_Est.getModel();
recordList_Paralelos_Est.removeAllElements();

try
{
Vector<String> listado_paralelos_est = obj_BD.obtenerListaParalelos();
int cant_paralelos = listado_paralelos_est.size();
for(int fila = 0; fila < cant_paralelos; fila++)
{
String codigo_paralelo = listado_paralelos_est.get(fila);
recordList_Paralelos_Est.addElement(codigo_paralelo);
}
recordList_Paralelos_Est.setSelectedItem(listado_paralelos_est.get(0));
}
catch(SQLException err)
{
err.printStackTrace();
}
}

private void jButton_mostrarEstudiantesCarreraActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
//1. Obtener la instancia única objeto de la clase OperacionesCRUD
OperacionesCRUD obj_BD = OperacionesCRUD.getInstance();
//2. Obtener la lista de valores del modelo del combobox de lista de carreras.
DefaultComboBoxModel modelo_combobox = (DefaultComboBoxModel) jComboBox_Listado_Carreras_Est.getModel();
//3. Obtener la carrera seleccionado desde el combobox jComboBox_Listado_Carreras_Est
String select_carrera = String.valueOf(modelo_combobox.getSelectedItem());
try {
//4. Obtener la matriz de datos que devuelve el método (obtenerEstudInscritosPorCarrera) que consulta a la BD y que implementa el objeto obj_BD (OperacionesCRUD)
ArrayList<Vector<String>> matriz_estudiantes = obj_BD.obtenerEstudInscritosPorCarrera(select_carrera);
//5. Crear el objeto DefaultTableModel del jTable que debe mostrar la matriz de datos de los estudiantes que están inscritos en una carrera en particular
DefaultTableModel modelo_tabla = (DefaultTableModel) jTable_ListaEstudiantes.getModel();
//6. Setear el componente jTable_ListaEstudiantes con cero filas a mostrar.
modelo_tabla.setRowCount(0);
//7. Recorrer cada fila de la matriz de datos de los estudiantes inscritos en una carrera en particular y para cada iteración resolver:
for (Vector<String> datos_estud : matriz_estudiantes) {
modelo_tabla.addRow(datos_estud);
}
}
catch(SQLException err) {
err.printStackTrace();
}
}
//OK
private void jButton_mostrarParalelosCarreraActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
//1. Obtener la instancia única objeto de la clase OperacionesCRUD
OperacionesCRUD obj_BD = OperacionesCRUD.getInstance();
//2. Obtener la lista de valores del modelo del combobox de lista de carreras.
DefaultComboBoxModel modeloCombobox = (DefaultComboBoxModel) jComboBox_Listado_Carreras_Paralelos.getModel();
//3. Obtener la carrera seleccionada desde el combobox jComboBox_Listado_Carreras_Paralelos
String select_carrera = String.valueOf(modeloCombobox.getSelectedItem());
try
{
//4. Obtener el vector lista de paralelos del método (obtenerListaParalelosCarrera) que consulta a la BD y que implementa el objeto obj_BD (OperacionesCRUD)
Vector<String> lista_paralelos = obj_BD.obtenerListaParalelosCarrera(select_carrera);
//5. Crear el objeto DefaultTableModel del jTable que debe mostrar el vector lista de paralelos
DefaultTableModel modelo_tabla = (DefaultTableModel) jTable_ListaParalelos.getModel();
//6. Setear el componente jTable_ListaParalelos con cero filas y columna de datos a mostrar.
modelo_tabla.setColumnCount(0);
modelo_tabla.setRowCount(0);
//7. Agregar la columna de datos con cabecera "Listado de Paralelos del ITB" y vector lista de datos "lista_paralelos".
modelo_tabla.addColumn("Listado de Paralelos", lista_paralelos);
}
catch(SQLException err)
{
err.printStackTrace();
}
}
//OK
private void jButton_mostrarEstudiantesParaleloActionPerformed(java.awt.event.ActionEvent evt) {

// TODO add your handling code here:
//1. Obtener la instancia única objeto de la clase OperacionesCRUD
OperacionesCRUD obj_BD = OperacionesCRUD.getInstance();
//2. Obtener la lista de valores del modelo del combobox de lista de paralelos.
DefaultComboBoxModel modelo_combobox = (DefaultComboBoxModel) jComboBox_Listado_Paralelos_Est.getModel();
//3. Obtener el paralelo seleccionado desde el combobox jComboBox_Listado_Paralelos_Est
String select_paralelo = String.valueOf(modelo_combobox.getSelectedItem());
System.out.println(select_paralelo);
try
{
//4. Obtener la matriz de datos que devuelve el método (obtenerEstudInscritosPorParalelo) que consulta a la BD y que implementa el objeto obj_BD (OperacionesCRUD)
ArrayList<Vector<String>> matriz_estudiantes = obj_BD.obtenerEstudInscritosPorParalelo(select_paralelo);
//5. Crear el objeto DefaultTableModel del jTable que debe mostrar la matriz de datos de los estudiantes que están inscritos en un paralelo en particular
DefaultTableModel modelo_tabla = (DefaultTableModel) jTable_ListaEstudiantes.getModel();
//6. Setear el componente jTable_ListaEstudiantes con cero filas a mostrar.
modelo_tabla.setRowCount(0);
//7. Obtener la cantidad de filas que arroja la consulta a la base de datos almacenada en la matriz de datos.
for (Vector<String> datos_estud : matriz_estudiantes) {
modelo_tabla.addRow(datos_estud);
}
}
catch(SQLException err) {
err.printStackTrace();
}
//8. Recorrer cada fila de la matriz de datos de los estudiantes inscritos en un paralelo en particular y para cada iteración resolver:

}

/**
* @param args the command line arguments
*/
public static void main(String args[]) {
/* Set the Nimbus look and feel */
//<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
/* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
* For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
*/
try {
for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
if ("Nimbus".equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}
}
} catch (ClassNotFoundException ex) {
java.util.logging.Logger.getLogger(VentanaPrincipalJFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(VentanaPrincipalJFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {
java.util.logging.Logger.getLogger(VentanaPrincipalJFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {
java.util.logging.Logger.getLogger(VentanaPrincipalJFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
}
//</editor-fold>

/* Create and display the form */
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new VentanaPrincipalJFrame().setVisible(true);
}
});
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Operaciones Crud en java netbeasn con mongodb

Publicado por Naruto UZU (5 intervenciones) el 25/05/2023 17:23:51
CUESTIONARIO
UNIDAD 1
1.- El sistema operativo se encarga de realizar varias actividades administrativas. Marque aquellas actividades a cargo del S.O:
 Administrar los recursos de memoria
 Administrar la seguridad de archivos
 Administrar los recursos de almacenamiento

2.- Los equipos de cómputo tales como Desktop o Portátiles son energizados por el suministro eléctrico entregado por la Empresa Eléctrica del Ecuador, los valores adecuados en nuestro país para este tipo de equipos son:
 110 V – 60 Hz

3.- Para la operación de un computador se requieren componentes internos y externos, selecciones cuales elementos son ubicados en la parte interna del equipo:
 DISCO DURO SSD TIPO CON CONECTOR SATA
 CABLE SATA
 MEMORIA RAM

4.- Existen distintos servicios que se pueden implementar en sistema operativo. El Servicio DHCP provee direcciones IP a sus clientes; ¿En cuales sistemas operativos es posible publicar este servicio?
 Windows Server 2019
 Linux CentOS
 Linux Ubuntu

5.- La tarjeta principal de un computador (Motherboard) cuenta con varios puertos, indique cuales de son para la salida de datos:
 DISPLAY PORT
 HDMI
 LPT
 VGA

6.- El siguiente elemento almacenar voltaje y liberarlo una vez que llega a su límite. También actúa como filtro en los circuitos eléctricos o electrónicos:
 El capacitor

7.- La velocidad de acceso a los distintos tipos de almacenamiento varía en función de cercanía al procesador; en función de aquello, ordenar los distintos dispositivos de almacenamiento en orden ascendente de acuerdo a la velocidad de acceso:
 Disco Duro SATA
 Memoria Flash
 Memoria RAM
 Registros

8.- Los elementos pasivos se caracterizan por eliminar electrones a través del calor o almacenar energía eléctrica por medio de campo eléctrico o magnético; en función de esto, la afirmación correcta es:
 Un capacitor permite almacenar energía y actúa como un filtro eléctrico

9.- Un computador de tipo Desktop utiliza varios componentes internos para su operación; entre ellos; sin embargo, si se trata de velocidad: ¿Qué componentes debo actualizar para mejorar el desempeño del equipo? Indicar el orden sugerido:
 Disco Duro Magnético a SSD
 Fuente de Poder
 Memoria RAM

10.- Emparejar los elementos según corresponda:
 Gestor de Memoria: Evita colapso del sistema operativo
 Archivos del Sistema: No pueden ser eliminados del sistema operativo
 Archivos de Usuario: Creados por un usuario particular
 Gestor de almacenamiento: Evita pérdida de información mediante discos duros
 Sistema Operativo: Gestiona recurso de HW

11.- Los circuitos eléctricos requieren protección para evitar daños en sus componentes internos; en función de lo indicado, seleccione los enunciados correctos:
 Un breaker permite proteger un circuito eléctrico a partir de un exceso de corriente y su unidad de medida es el Amperio

12.- Active Directory, puede ser implementado como servicio. ¿En qué tipo de sistema operativo puede ser publicado?
 Windows Server 2019


13.- Los sistemas operativos poseen algunas características, seleccione aquellas que tienen los sistemas operativos Linux
 Multiusuario
 Multitarea
 Multiproceso

14.- Las máquinas virtuales son muy utilizadas en la actualidad; especialmente por su flexibilidad en su hardware virtual. Seleccione las definiciones correctas según su criterio:
 1 Disco Duro Máquina Física 256 GB – 2 Discos Duro en Máquina Virtual de 50 GB
 1 Interfaz de RED Ethernet en máquina Física – 3 Interfaces de Red en máquina virtual
 1 Máquina Física con Sistema Operativo Windows 10 Pro – Varias Máquinas Virtuales con distintos Sistemas Operativos

15.- Usted es contratado para realizar la instalación de un grupo de computadoras para un Call Center; seleccione cuales deben ser las actividades a realizar en orden técnico:
 Medir voltajes adecuados L-N y L-GND
 Validar la existencia de un UPS
 Evaluar las condiciones técnicas de la ubicación de los equipos
 Realizar la instalación física y conectar equipos al circuito eléctrico

16.- Observe el siguiente diagrama de compuertas lógicas y seleccione la solución expresión booleana correcta a la salida del circuito:

 AB+AC+BC






17.- A continuación, se muestran las siguientes sentencias. Seleccione según corresponda la actividad realizada por cada una de ellas:
 cp archivo.txt /home/curso  Copia archivo.txt en el directorio /home/curso
 mv archivo.txt /home/aula  Mueve archive.txt al directorio /home/aula

18.- Se requiere adquirir un computador para uso de un estudiante universitario de la carrera de medicina. Tomar en cuenta que el estudiante revisará videos explicativos inherentes a su carrera. Según su criterio, ¿Cuál es el equipo adecuado para la necesidad de dicho estudiante?
 Procesador: Intel i5 / AMD Ryzen 3
Memoria RAM: 8 GB.
Disco Duro: 1 TB.
Video: Incorporado

19.- En el año 1945, el matemático Von Neumann junto a otros científicos, diseño la arquitectura básica de un computador; esta arquitectura consta de los siguientes elementos:
 MEMORIA PRINCIPAL – ALU – UC – REGISTROS

20.- El siguiente componente de la tarjeta principal almacena la configuración básica de los componentes; entre esos la fecha y hora:
 BIOS

21.- Escoja las posibles respuestas a las siguientes afirmaciones:
 Una de las características del sistema operativo es….. Administrar la memoria
 El Kernel interactúa con….. Aplicaciones
 El archivo ejemplo.docx corresponde a un archivo…. De Usuario

22.- Los sistemas operativos administran los recursos de hardware del dispositivo donde este es instalado en función de aquello; seleccione el Sistema operativo adecuado para las siguientes necesidades:

23.- La función del puente rectificador de un circuito eléctrico es convertir la corriente alterna en corriente continua. Internamente está compuesto por los siguientes elementos:
 4 diodos

24.- Los elementos electrónicos se dividen en activos y pasivos; de acuerdo a esta distribución, forman parte de elementos activos los siguientes elementos:
 Diodo Zener – Diodo Rectificador – Transistor

25.- Existe una técnica a nivel de redes que permite separar los ambientes de manera lógica con la finalidad de mantener la confidencialidad de los datos:
 La implementación de VLAN’s permite separar los ambientes de una red LAN de manera lógica, con ayuda de un Switch L2

26.- La transmisión de datos utiliza tipos de medió para establecer comunicaciones; estos son los medios guiados y no guiados. Realice el emparejamiento según corresponda:
 CABLE UTP: Cable de cobre par trenzado
 FIBRA ÓPTICA: Transmite datos mediante la luz
 RADIO FRECUENCIA: Transmite datos mediante el espectro
 CABLE COAXIAL: Utiliza un solo hilo de cobre y apantallado

27.- La seguridad informática debe ser tratada por niveles, en función de aquello, existen técnicas utilizadas con la finalidad de proteger los datos de una organización. Seleccione los niveles según corresponda:
 NIVEL 3 SE SEGURIDAD: Restricciones a nivel protocolos
 NIVEL 2 SE SEGURIDAD: Restricciones a nivel de MAC
 NIVEL 2 SE SEGURIDAD: Implementación de DHCP Snooping
 NIVEL 1 DE SEGURIDAD: Acceso seguro del personal de TI

28.- Analice los siguientes enunciados y seleccione el criterio adecuando con respecto a los protocolos de enrutamiento:
 OSPF es un protocolo de enrutamiento dinámico basado en la selección de la ruta o vía más corta hacia el destino




29.- El empleado de una sucursal debe crear un presupuesto para un cliente. Con el fin de hacer esto, el empleado necesita acceder a la información de precios almacenados en los servidores que se encuentran instalados en la oficina central. ¿Qué tipo de red es requerida para esta actividad?
 Intranet

30.- Realizar el emparejamiento de los siguientes conceptos, con respecto a las la Seguridad de la información:
 CONFIDENCIALIDAD: Acción de borrar información de manera adecuada en un disco duro antes de ser desechado
 DISPONIBILIDAD: En ocasiones chocar frontalmente con la confidencialidad
 INTEGRIDAD: Datos deben estar completos, sin variaciones o compromisos del original, que se considera confiable y exacto
 DISPONIBILIDAD: Aquella información a la que podemos acceder cuando la necesitamos a través de los canales adecuados siguiendo los procesos correctos
 CONFIDENCIALIDAD: La propiedad por la que esa información solo resultará accesible con la debida y comprobada autorización

31.- Se requiere realizar el diseño de una red LAN que permita conectar los siguientes equipos:
• 15 estaciones de trabajo (PCs y LAPTOP)
• 3 Impresoras Láser con puerto de red
• 1 Access Point para la conexión de 10 portátiles
¿Cuál es la configuración de red más eficiente para este requerimiento?
 RED:192.168.1.0
MASCARA: 255.255.255.224

32.- La organización ha contratado una consultoría con una empresa especializada en Ethical Hacking. De acuerdo a su informe: Se han presentado varios intentos de acceso a nuestros servidores de BDD desde redes distintas a nuestra organización. Seleccione las medidas seguridad propuestas para cerrar esta brecha de seguridad:
 Implementar una DMZ con la ayuda de un equipo ASA-5505
 Implementar una VPN para el acceso de los usuarios hacia los servidores




33.- Analice el siguiente esquema de red e indique la técnica requerida para separar los ambientes: Contabilidad y Bodega, sin perder la comunicación con el servidor Web:

 Asignar los puertos correspondientes a Contabilidad y Bodega, crear 2 VLAN y 1 puerto troncal que permita a ambas áreas mantener la comunicación con el Servidor Web

34.- En el siguiente diseño, se requiere evitar que todos los hosts de la ciudad de Galápagos y Machala no puedan acceder al servicio Web, pero todos los hosts de todas las ciudades, deben poder acceder al servicio FTP. Todas las ciudades pueden probar conectividad mediante el comando ping hacia ambos servidores. ¿Cuál es el tipo de ACL sugerido?

 Habilitar ACL Extendida en R-MATRIZ en modo OUT; restringir el protocolo www para la red 192.168.1.0; 192.168.2.0 y permitir ICMP, FTP para todas las redes.

35.- Se requiere realizar la implementación de una ACL estándar como medida de seguridad a nivel de routers. ¿Cuál es la sintaxis adecuada para esta implementación?
 Router(config)# access-list access-list-number { deny |permit | remark } IP Origen [source-wildcard ][ log ]
36.- Seleccione según corresponda, el dispositivo que se acople a cada concepto:
 SWITCH: Corresponde a un dispositivo intermedio en una red
 VLAN: Técnica que permite separar ambientes de manera lógica en una red LAN
 LAN: Red que conecta a los elementos dentro de un edificio

37.- Se requiere implementar técnicas de seguridad en el nivel 3 de la red. Indique cuales técnicas son las ideales para cerrar las brechas de seguridad en este nivel contra ataques externos a mi organización:
 ASA-5505
 Cifrado en enrutamiento de OSPF

38.- Marque Verdadero (V) o Falso (F) según corresponda a los siguientes enunciados referentes a las ACL:
 Las ACL filtran el tráfico que pasa por un dispositivo de red de capa 3: VERDADERO
 Las ACL permiten determinar permisos de acceso desde un router: VERDADERO
 Las ACL únicamente pueden ser implementadas en un ROUTER: FALSO
 Las ACL permiten controlar el flujo del tráfico: VERDADERO
 Las ACL permiten identificar rutas alternas más rápidas: FALSO

39.- Con respecto a la gestión de la Seguridad Informática, seleccione según corresponda las situaciones:
 VULNERABILIDAD: Antivirus no actualizado
 AMENAZA: Gusanos informáticos, Keyloggers
 RIESGO: Caída del sitio Web de producción

40.- Port Security es una técnica que permite implementar cerrar las brechas de seguridad en el nivel 2. Determinar cuáles de las siguientes sentencias son válidas para realizar dicha implementación:
 Switchport port security violation restrict
(Cuando detecta una MAC no legitima, la bloquea e indica violación de seguridad): VERDADERO
 switchport port security maximum 2:
(Numero Maximo de direcciones MAC para almacenar x puerto): VERDADERO
 switchport port security violation no shutdown
(Apaga el puerto cuando detecta una MAC ilegitima): FALSO



41.- Analice los siguientes enunciados y seleccione el criterio de operación adecuado con respecto al routing:
 El ROUTER recibe un paquete, analiza la dirección de destino del paquete y usa la tabla de routing para buscar la mejor ruta hacia esa red

UNIDAD 2
42.- Seleccione cuál de las siguientes opciones no es un atributo de calidad:
 IRREFUTABILIDAD: Imposibilidad, para una persona usuaria, programa o proceso, de negar (rechazar) la autoría de una acción

43.- Complete con la expresión correcta
Un patrón de diseño es básicamente una forma reutilizable de resolver un problema común en el desarrollo de software. Dependiendo de su finalidad los patrones de diseño pueden ser clasificados en:
• Patrones de ____________: utilizados para crear y configurar de clases y objetos.
• Patrones estructurales: su objetivo es desacoplar las interfaces e implementar clases y objetos. Crean grupos de objetos.
• Patrones de comportamiento: se centran en la interacción entre asociaciones de clases y objetos definiendo cómo se comunican entre sí.
 CREACIÓN

44.- Complete la definición de lenguaje de modelado unificado (UML por sus siglas en inglés)
El lenguaje de modelado unificado (UML) es un estándar para la representación _________ de objetos, estados y procesos dentro de un sistema.
 VISUAL

45.- Haga corresponder los atributos de calidad con su definición. Seleccione las respuestas correctas en cada caso
 MANTENIBILIDAD: Habilidad del software para poder realizar cambios en él rápidamente y con una adecuada proporción cambio/costo
 USABILIDAD: Habilidad del software para satisfacer al usuario
 FIABILIDAD: Habilidad del software para mantenerse operativo (funcionando)
 PORTABILIDAD: Habilidad del software para correr en diferentes entornos informáticos


46.- Haga corresponder el tipo de prueba con los elementos que abarca. Seleccione las respuestas correctas en cada caso
 SOPORTABILIDAD: Configuración, Instalación
 RENDIMIENTO: Contención, Carga, Profile
 FIABILIDAD: Integridad, Estructura, Stress
 FUNCIONALIDAD: Función, Seguridad, Volumen

47.- Los requerimientos no funcionales representan características generales y restricciones de la aplicación o sistema que se esté desarrollando Enlace los ejemplos de requisitos no Funcionales de software con su clasificación.
 DISPONIBILIDAD: El sistema deberá estar disponible las 24 horas del día, 7 días de la semana, 365 días del año
 EFICIENCIA: Toda funcionalidad del sistema y transacción de negocio debe responder al usuario en menos de 5 segundos
 USABILIDAD: El sistema debe poseer interfaces gráficas bien formadas
 SEGURIDAD: Todas las comunicaciones externas entre servidores de datos, aplicación y cliente del sistema deben estar encriptadas utilizando el algoritmo RSA

48.- El UML está compuesto por diversos elementos gráficos que se combinan para conformar diagramas. La finalidad de los diagramas es presentar diversas perspectivas de un sistema, a las cuales se les conoce como modelo. Seleccione la opción correcta a partir del siguiente planteamiento:
Es un diagrama que sirve para especificar la comunicación y el comportamiento de un sistema mediante su interacción con los usuarios y/u otros sistemas.
 Diagrama de casos de uso

49.- Cuál es la relación correcta que debería de existir entre Actores.

 2








50.- A partir del siguiente grafico del Ciclo de Vida del Desarrollo de Sistemas, seleccione las dos fases que hacen falta.

 4. Diseño del sistema recomendado y 6. Pruebas y mantenimiento del sistema

51.- El UML está compuesto por diversos elementos gráficos que se combinan para conformar diagramas. Identifique el siguiente diagrama UML

 Diagrama de despliegue






52.- Para relacionar las Clases en el diagrama de Clases en UML, existe ciertos indicadores para saber cuántas instancias de esa clase pueden asociarse con las otras clases de la asociación. Enlace la multiplicidad que corresponda.

53.- El UML está compuesto por diversos elementos gráficos que se combinan para conformar diagramas. Identifique el siguiente diagrama UML

 Diagrama de secuencia




54.- El UML está compuesto por diversos elementos gráficos que se combinan para conformar diagramas. Identifique el siguiente diagrama UML

 Diagrama de actividades









55.- Los diagramas de clases son uno de los tipos de diagramas más útiles en UML, ya que trazan claramente la estructura de un sistema concreto al modelar sus clases, atributos, operaciones y relaciones entre objetos. A partir del siguiente diagrama de clases, seccione el tipo de relación existente entre ellas.

 Composición




56.- En el bloque de construcción UM, existe el bloque de Relaciones, en el cual se encuentra algunos tipos de relaciones representados de diferentes formas. Enlace el tipo de relación de UML con el que corresponda.


57.- Un patrón de diseño es básicamente una forma reutilizable de resolver un problema común en el desarrollo de software. Enlace el patrón con su definición.
 SINGLETON: Es un patrón de diseño que permite restringir la creación de objetos pertenecientes a una clase o el valor de un tipo a un único objeto. Su intención consiste en garantizar que una clase solo tenga una instancia y proporcionar un punto de acceso global a ella
 OBSERVADOR: Es un patrón de diseño de software que define una dependencia del tipo uno a muchos entre objetos, de manera que cuando uno de los objetos cambia su estado, notifica este cambio a todos los dependientes
 CADENA DE RESPONSABILIDAD: Es un patrón de comportamiento que evita acoplar el emisor de una petición a su receptor dando a más de un objeto la posibilidad de responder a una petición
 MODELO-VISTA-CONTROLADOR (MVC): Es un patrón de arquitectura de software, que separa los datos y principalmente lo que es la lógica de negocio de una aplicación de su representación y el módulo encargado de gestionar los eventos y las comunicaciones

58.- Complete con la expresión completa: “Concordancia con los requisitos _____________ y de rendimiento explícitamente establecidos con los estándares de desarrollo explícitamente documentados y con las características implícitas que se espera de todo software desarrollado profesionalmente”.
 FUNCIONALES




59.- Técnicas de obtención de requisitos posibilitan que el proceso de recopilación de requisitos se realice de forma más eficiente. Enlace las técnicas de obtención de requisitos con su definición.
 ENTREVISTA: Son reuniones normalmente de dos personas, en las que se plantean una serie de preguntas para obtener las correspondientes respuestas en el contexto de un determinado dominio de problemas
 TORMENTA DE IDEAS: Técnica de reuniones en grupo cuyo objetivo es la generación de ideas en un ambiente libre de críticas o juicios
 JOINT APPLICATION DEVELOPMENT: Se basa en organizar reuniones integradas por miembros del equipo de desarrollo y miembros de la organización para la que se va a desarrollar el sistema software
 OBSERVACIÓN IN SITU: Consiste en la observación directa de las prácticas profesionales que se realizan habitualmente en la organización para la que se va a desarrollar el software

60.- Los diagramas de clases son uno de los tipos de diagramas más útiles en UML, ya que trazan claramente la estructura de un sistema concreto al modelar sus clases, atributos, operaciones y relaciones entre objetos. A partir del siguiente diagrama de clases, seccione el tipo de relación existente entre ellas.

 Generalización








61.- El UML está compuesto por diversos elementos gráficos que se combinan para conformar diagramas. La finalidad de los diagramas es presentar diversas perspectivas de un sistema, a las cuales se les conoce como modelo. A partir de la siguiente definición seleccione la opción correspondiente.
Muestra el flujo de trabajo desde el punto de inicio hasta el punto final detallando muchas de las rutas de decisiones que existen en el progreso de eventos contenidos en la actividad.
 Diagrama de actividad


62.- Cuál es la relación correcta que debería existir entre Casos de uso. Seleccione solo la opción que tenga las 3 relaciones correctas.

 1, 3, 6








63.- Un patrón de casos de uso captura técnicas para que el modelo sea mantenible, reusable y entendible. A partir del siguiente Diagrama de Casos de Uso identifique el patrón correspondiente.

 Múltiples Actores






64.- A partir del siguiente enunciado y gráfico, escoja la opción correcta que determine los atributos de la Clase.
Construir un programa que cada una serie de vehículos caracterizados por su marca, modelo y precio, imprima las propiedades del vehículo más barato. Para ello, deberán leer por teclado las características de cada vehículo y crear una clase que represente a cada uno de ellos.

 Marca, modelo, precio



65.- Un patrón de casos de uso captura técnicas para que el modelo sea mantenible, reusable y entendible. A partir del siguiente Diagrama de Casos de Usos identifique el patrón correspondiente.

 Extensión



66.- Cuál es la relación correcta que debería existir entre Actor y Casos de uso. Seleccione la opción correcta.



 1





67.- El Lenguaje Unificado de Modelado o UML (“Unified Modeling Language”) es un lenguaje estandarizado de modelado. Está especialmente desarrollado para ayudar a todos los intervinientes en el desarrollo y modelado de un sistema o un producto software, sirviéndose de varios tipos de diagramas. Enlace las definiciones con los tipos de diagramas UML correspondiente.
 DIAGRAMA DE DESPLIEGUE: Es un tipo de diagrama orientado a ser usado cuando la implementación se distribuye en varios equipos, cada uno de ellos con su configuración y características, ya que permite en un mismo diagrama mostrar todos los elementos software y hardware de un sistema
 DIAGRAMA DE PAQUETES: Se usan para representar de forma estática las dependencias entre los distintos elementos de un sistema, a nivel lógico
 DIAGRAMA DE SECUENCIA: Ponen el foco tanto en las relaciones entre los objetos de un sistema, como el orden en que estas se producen. No es objeto de este diagrama mostrar todas las casuísticas posibles, sino centrarse en casos particulares cuya orden de ejecución puede resultar interesante analizar
 DIAGRAMA DE COMPONENTES: Es diagrama a más alto nivel, usado en sistemas cuya complejidad impide la representación a través de un diagrama de clases. Así, los objetos se relacionan entre sí mediante interfaces, que a su vez son enlazadas a través de conectores

68.- Complete con la expresión completa.
Pruebas de caja blanca: Se comprueban los caminos lógicos del software. Se puede examinar ___________ del programa en varios puntos para determinar si el estado real coincide con el esperado.
 EL ESTADO

69.- Complete con la expresión completa
Pruebas de caja negra: Pruebas que se llevan a cabo sobre ________________ del software. El objetivo es demostrar que las funciones del software son operativas, que las entradas se aceptan de forma adecuada y se produce un resultado correcto, y que la integridad de la información externa se mantiene (no se ve el código).
 LA INTERFAZ

70.- En la transformación del modelo conceptual al modelo relacional en la etapa del diseño lógico, se debe tener clara la relación de los siguientes términos. Relacione los conceptos y definiciones según corresponda.
 ENTIDAD: Tabla
 ATRIBUTO: Columna/Campo
 IDENTIFICADOR ÚNICO: Clave primaria
 RELACIÓN 1:1: Se toma la llave primaria de la tabla fuerte y se ingresa en la tabla débil (siendo llave foránea)
 RELACIÓN N:M: Se crea una nueva tabla y la llave primaria de ambas tablas estarán en la tabla creada como llaves foráneas
 RELACIÓN 1:N: Se toma la llave primaria de la tabla 1 y se inserta en la tabla de muchos (siendo la llave foránea)
 GENERALIZACIÓN/ESPECIALIZACIÓN: La llave primaria de la tabla dominante pasara como llave foránea en las tablas dependientes

71.- Selecciones cuál de los siguientes aspectos No es un principio fundamental que deben seguir las métricas
 Deben indicar la medida en que el tiempo, el esfuerzo o el costo se emplean adecuadamente para obtener los resultados deseados

72.- Complete con la expresión correcta
La gestión de riesgo es el arte y la ciencia de identificar, analizar, y responder a los riesgos a lo largo de la vida de un proyecto, con el propósito de aumentar la_____________ de los eventos positivos y disminuir la ___________ de los eventos adversos para el proyecto.
 PROBABILIDAD Y EL IMPACTO

73.- El modelado de procesos en la gestión de procesos de negocio y la ingeniería de sistemas es la actividad de representar los procesos de una empresa, de modo que el proceso actual se pueda analizar, mejorar y automatizar. A partir de la siguiente definición seleccione la opción correspondiente.
Notación gráfica estandarizada que permite el modelado de procesos de negocio, en un formato de flujo de trabajo:
 BPMN

74.- Complete con la expresión correcta
Proyecto: Esfuerzo ________ que se lleva a cabo para crear un producto, servicio o resultado único… consiste esencialmente en organizar un conjunto de acciones y actividades a realizar, que implican el uso y aplicación de recursos humanos, financieros, técnicos en una determinada área o sector, con el fin de lograr ciertas metas u objetivos disponiendo de un tiempo limitado.
 TEMPORAL

75.- A partir del siguiente Grafo de Flujo seleccione la complejidad ciclomática correcta



 4














76.- Según las reglas de transformación (MER – Modelo relacional) ¿Qué tabla se crearía a partir del siguiente gráfico? Seleccione la respuesta correcta.

 Tabla Compra: DNI, CodigoProducto, Fecha_de_compra

77.- Indique la salida para las siguientes instrucciones:
Proceso Pregunta5
Definir a,b,c Como Entero;
a=10; b=10;
Si (no(a>b) o (a>c)) Entonces
Escribir "Verdadero";
FinSi
FinProceso

 La variable c, no está inicializada

78.- Indique la salida para las siguientes instrucciones
Algoritmo salida
Definir a Como Entero;
a=17;
Mientras (a<=11) Hacer
Escribir a;
a=a-4;
FinMientras
FinAlgoritmo


 No se ejecuta el bucle

79.- La primera forma normal, está determinada por una de las características del modelo relacional que establece que un atributo debe ser atómico. Seleccione cuál de los atributos cumple la atomicidad.
 ATRIBUTO: Num_orden valor: 7dsfsf7



80.- Del siguiente código, ¿cuál es la salida generada o suceso efectuado?
Proceso Reactivo3
Definir marca Como Caracter;
Definir kms Como Entero;
marca="VW";
km=marca/kms
Escribir "La marca del auto es:",marca," y sus kilometros recorridos son: ",kms;
FinProceso

 No coinciden los tipos

81.- Dado el siguiente diagrama calcule las la duración de la ruta critica


 35







82.- Dado el siguiente cronograma calcule duración de la ruta crítica del proyecto

 10





83.- A partir del siguiente código calcule cuántos casos de prueba mediante el método de la complejidad ciclomática son necesarios

 3




84.- Problema: En una tienda de ropa se necesita conocer los datos personales de cada cliente (nombre, apellido, cedula, fecha de nacimiento, teléfono y dirección). Cada producto tiene un nombre y un código, así como un precio unitario. Un cliente -> puede comprar uno o muchos productos, y un producto -> puede ser comprado por uno o muchos clientes. Todas las compras, debe registrarse las fechas.
Se debe tener en cuenta que uno o muchos productos -> sólo pueden ser suministrados por un proveedor, y que un proveedor -> puede suministrar uno o muchos productos. De cada proveedor se desea conocer el ruc, nombre y correo electrónico”.
A partir de la información presentada en el caso, indique si el siguiente modelo entidad relación es verdadero o falso.

 FALSO

85.- En el siguiente gráfico, ¿cuál es el tipo de relación? Seleccione la respuesta correcta.

 Relaciones Reflexiva


86.- Problema: En una tienda de ropa se necesita conocer los datos personales de cada cliente (nombre, apellido, cedula, fecha de nacimiento, teléfono y dirección). Cada producto tiene un nombre y un código, así como un precio unitario. Un cliente -> puede comprar uno o muchos productos, y un producto -> puede ser comprado por uno o muchos clientes. Todas las compras, debe registrarse las fechas.
Se debe tener en cuenta que uno o muchos productos -> sólo pueden ser suministrados por un proveedor, y que un proveedor -> puede suministrar uno o muchos productos. De cada proveedor se desea conocer el ruc, nombre y correo electrónico”.
A partir de la información presentada en el caso, indique si el siguiente modelo entidad relación es verdadero o falso.

 VERDADERO

87.- Entre la tabla CLIENTE que tiene los campos ID, nombre y apellidos con la tabla PRODUCTO que tiene los campos código y descripción, existe una relación de muchos a muchos. Se desea crear una nueva tabla con sus campos. Seleccione cuál de ellas es la tabla y campos correctos.
 Tabla: COMPRA atributos: ID, código, fecha_compra

88.- De la siguiente imagen se desea saber cuáles deben ser los atributos de la nueva tabla según su relación. Seleccione la respuesta correcta.

 Código_Profesor, Código_Asignatura, Fecha
89.- En el proyecto “Plataforma de Servicios a Pozos del Centro” con el Centro de Investigación del Petróleo, el planificador distribuyó en un período de cinco semanas, ocho actividades.
En la siguiente tabla, la combinación en las celdas: Número, X tiene el siguiente significado:
Número: indica el número de horas planificadas para desarrollar la tarea (CP).
X: señaliza que la tarea debe cumplirse en la semana. Calcule el valor ganado en la semana 5



 170






90.- En el proyecto “Sistema de Gestión Académica”, el planificador distribuyó en un período de cinco semanas, ocho actividades.
En la siguiente tabla, la combinación en las celdas: Número, X tiene el siguiente significado:
Número: indica el número de horas planificadas para desarrollar la tarea (CP).
X: señaliza que la tarea debe cumplirse en la semana. Calcule el valor ganado en la semana 5



 145









91.- El proceso de pruebas define tipos de prueba que especifican en qué momento del desarrollo del software comenzaremos a probar. Enlace los distintos tipos de pruebas de software con su definición.
 PRUEBAS DE ACEPTACIÓN: Son las pruebas que se ejecutan una vez el producto está terminado y entregado a cliente
 PRUEBAS DE SISTEMA: Estas pruebas verifican en el comportamiento del producto según lo definido en los casos de uso
 PRUEBAS DE INTEGRACIÓN: Son las pruebas en las que se verifica que los diferentes sistemas de un mismo producto interactúan correctamente entre ellos
 PRUEBAS UNITARIAS: Se refieren a las pruebas que se ejecutan sobre un módulo determinado del sistema independientemente del resto de módulos

92.- Un elemento del modelo entidad relación son los atributos. Relacione los tipos de atributos con sus definiciones.
 ATRIBUTOS DERIVADOS: Son atributos cuyos valores se calculan a partir de los valores de otros atributos
 ATRIBUTOS DESCRIPTORES: Son los atributos que describen diversas propiedades de una entidad o relación
 ATRIBUTOS MULTIVALUADOS: Son atributos que poseen varios valores de un mismo dominio
 ATRIBUTOS OPCIONALES: Lo son si pueden tener valor nulo (es decir, si pueden quedar vacíos, sin valor).

93.- Haga corresponder la actividad de aseguramiento de la calidad con su definición.
 REALIZAR ASEGURAMIENTO DE CALIDAD: Aplicar las actividades planificadas y sistemáticas relativas a la calidad, para asegurar que el proyecto utilice todos los procesos necesarios para cumplir con los requisitos.
 REALIZAR CONTROL DE CALIDAD: Supervisar los resultados específicos del proyecto, para determinar si cumplen con las normas de calidad relevantes e identificar modos de eliminar las causas de un rendimiento insatisfactorio.
 PLANIFICACIÓN DE CALIDAD: Identificar qué normas de calidad son relevantes para el proyecto y determinar cómo satisfacerlas.

94.- A partir del siguiente ejemplo calcule cuál fue la probabilidad estimada del riesgo
ID Riesgo Prob Impact Exposición
1 Riesgo ejemplo 1 0.7 0.21
 0.3


95.- Seleccione el orden correcto según la siguiente lista de las fases que forman el proceso de diseño de una base de datos.
1. DISEÑO LÓGICO
2. RECOGIDA Y ANÁLISIS DE REQUISITOS
3. IMPLEMENTACIÓN Y OPTIMIZACIÓN
4. DISEÑO FÍSICO
5. DISEÑO CONCEPTUAL

 2,5,1,4,3

96.- El esquema del funcionamiento y utilidad de un sistema gestor de bases de datos tiene 3 literales A, B y C. Seleccionar la opción que tenga los nombres del literal correcto.

 A. Sistema de gestor de base de datos B. Usuarios C. Base de datos

97.- A partir del siguiente Grafo de Flujo selecciones la complejidad ciclomática correcta




 3








98.- A partir del siguiente Grafo de Flujo selecciones la complejidad ciclomática correcta







 4









99.- A partir del siguiente ejemplo calcule cuál fue la probabilidad estimada del riesgo
ID Riesgo Prob Impact Exposición
1 Riesgo ejemplo 1 0.8 0.72
 0.9

100.- A partir del siguiente ejemplo calcule cuál fue el impacto esperado del riesgo
ID Riesgo Prob Impact Exposición
1 Riesgo ejemplo 1 0.6 0.42
 0.8

101.- La entidad CLIENTE tiene como atributos (apellidos, teléfono, cedula) y la entidad FACTURA tiene como atributos (número de factura, cantidad, precio unitario, cedula) ¿Cuál sería la clave foránea y la entidad a la que pertenece?
 Entidad: FACTURA y atributo: cedula


102.- En el siguiente modelo entidad relación, ¿cuál es la entidad débil?


 Ejemplares




103.- A partir del siguiente código calcule cuántos casos de prueba mediante el método de la complejidad ciclomática son necesarios
r:=0;
if (x<0 or y<0) then
writeln(‘x e y deben ser positivos’)
else begin
r:=(x+y)/2;
writeln(‘la media es: ‘, r)
end;

 3

104.- Calcule la complejidad ciclomática del siguiente fragmento de código
IF A = 354
THEN IF B > C
THEN A = B
ELSE A = C
END IF
END IF
PRINT A

 3

105.- La sentencia INSERT se utiliza para agregar una nueva fila a una tabla. La sentencia necesita tres valores: el nombre de la tabla, los nombres de las columnas de la tabla que se va a rellenar, los valores correspondientes para cada columna
 VERDADERO

106.- En SQL, las siguientes funciones de grupo se pueden utilizar en una tabla completa o en un grupo específico de filas.
 AVG, COUNT, MIN, MAX, SUM, VARIANCE, STDDEV
107.- Según los comandos de SQL, relacione los conceptos con su significado
 DDL: Incluye órdenes para definir, modificar o borrar las tablas en las que se almacenan los datos y de las relaciones entre estas
 DML: Nos permite recuperar los datos almacenados en la base de datos y también incluye órdenes para permitir al usuario actualizar la base de datos añadiendo nuevos datos, suprimiendo datos antiguos o modificando datos previamente almacenados
 TCL: Estas son las instrucciones que nos dejan poder administrar transacciones y tener integridad de datos dentro de las declaraciones SQL. Se gestiona a través de las siguientes declaraciones
 DCL: Contiene elementos útiles para trabajar en un entorno multiusuario, en el que es importante la protección de los datos, la seguridad de las tablas y el establecimiento de restricciones en el acceso

108.- Las restricciones definen ciertas propiedades que deben cumplir los datos de una base de datos. Relacione los conceptos con su significado.
 CKEC: Se utiliza para limitar el rango de valores que puede tener una columna
 UNIQUE: Permite unicidad de datos
 PRIMARY KEY: Identifica de manera única cada fila de una tabla
 FOREING KEY: Es una columna o varias columnas, que sirven para señalar cual es la clave primaria de otra tabla
 NOT NULL: Sirve para especificar que una columna no acepta el valor NULL

109.- Existen diferentes elementos del lenguaje de manipulación de datos. Relacione los conceptos con su significado.
 SELECT: Utilizado para consultar registros de la base de datos que satisfagan un criterio determinado
 INSERT: Utilizado para cargar de datos en la base de datos en una única operación
 UPDATE: Utilizado para modificar los valores de los campos y registros especificados
 DELETE: Utilizado para eliminar registros de una tabla de una base de datos

110.- La sentencia SQL JOIN permite consultar datos de 2 o más tablas. Relacione los conceptos con su significado
 INNER JOIN: Consiste en combinar cada fila de una tabla con cada fila de la otra tabla, seleccionado aquellas filas que cumplan una determinada condición
 FULL JOIN: Combina los valores de la primera tabla con los valores de la segunda tabla. Siempre devolverá las filas de las dos tablas, aunque no cumplan la condición
 RIGHT JOIN: Combina los valores de la primera tabla con los valores de la segunda tabla. Siempre devolverá las filas de la segunda tabla, incluso aunque no cumplan la condición
 LEFT JOIN: Combina los valores de la primera tabla con los valores de la segunda tabla. Siempre devolverá las filas de la primera tabla, incluso aunque no cumplan la condición

111.- Según el siguiente esquema de base de datos. Se quiere asociar 2 tablas mediante la consulta LEFT JOIN. Seleccione la respuesta correcta.

 SELECT
E.Nombre_emp as 'Empleado',
D.Nombre_dep as 'Departamento'
FROM Empleados E
LEFT JOIN Departamentos D
ON E.Id_dep = D.Id_dep




112.- Según el siguiente esquema de base de datos. Se quiere asociar 2 tablas mediante la consulta FULL JOIN. Seleccione la respuesta correcta.

 SELECT
E.Nombre_emp as 'Empleado',
D.Nombre_dep as 'Departamento'
FROM Empleados E
FULL JOIN Departamentos D
ON E.Id_dep = D.Id_dep





113.- Según el siguiente esquema de base de datos. Se quiere asociar 2 tablas mediante la consulta INNER JOIN. Seleccione la respuesta correcta.

 SELECT * FROM Empleados E JOIN Departamentos D
ON E.Id_dep = D.Id_dep







114.- Según el siguiente esquema de base de datos. Se quiere asociar 2 tablas mediante la consulta RIGHT JOIN. Seleccione la respuesta correcta.

 SELECT
E.Nombre_emp as 'Empleado',
D.Nombre_dep as 'Departamento'
FROM Empleados E
RIGHT JOIN Departamentos D
ON E.Id_dep = D.Id_dep





115.- Según el siguiente código en SQL. Actualizar el contenido del registro 1 de la tabla ANOTACIONES. Seleccione la consulta correcta.
CREATE TABLE ANOTACIONES (
id INTEGER PRIMARY KEY,
fecha TEXT,
contenido TEXT
);
INSERT INTO ANOTACIONES VALUES (1, '2015-04-01','Hoy, fue el peor día de mi vida.');
INSERT INTO ANOTACIONES VALUES (2, '2020-04-01','Estuve con mi familia en la playa.');
INSERT INTO ANOTACIONES VALUES (3, '2020-05-05','Salí mal en las pruebas de manejo.');

 UPDATE ANOTACIONES SET contenido = 'Este es otro contenido' WHERE id=1

116.- Según el siguiente código en SQL. Se desea saber el número total de artículos que se ha comprado. Seleccione el código correcto de la función de agregación.
CREATE TABLE groceries (id INTEGER PRIMARY KEY, name TEXT, quantity INTEGER, aisle INTEGER);
INSERT INTO groceries VALUES (1, "Bananas", 4, 7);
INSERT INTO groceries VALUES(2, "Peanut Butter", 1, 2);
INSERT INTO groceries VALUES(3, "Dark Chocolate Bars", 2, 2);
INSERT INTO groceries VALUES(4, "Ice cream", 1, 12);
INSERT INTO groceries VALUES(5, "Cherries", 6, 2);
INSERT INTO groceries VALUES(6, "Chocolate syrup", 1, 4);

 SELECT SUM(quantity) FROM groceries;

117.- Según el siguiente código en SQL. Seleccione el código correcto para extraer todos los datos de la columna “name”.
CREATE TABLE groceries (id INTEGER PRIMARY KEY, name TEXT, quantity INTEGER, aisle INTEGER);
INSERT INTO groceries VALUES (1, "Bananas", 4, 7);
INSERT INTO groceries VALUES(2, "Peanut Butter", 1, 2);
INSERT INTO groceries VALUES(3, "Dark Chocolate Bars", 2, 2);
INSERT INTO groceries VALUES(4, "Ice cream", 1, 12);
INSERT INTO groceries VALUES(5, "Cherries", 6, 2);
INSERT INTO groceries VALUES(6, "Chocolate syrup", 1, 4);

 SELECT name FROM groceries;


118.- Según el siguiente esquema de base de datos. Seleccione el código correcto para consultar todos los datos de la tabla.

 SELECT * FROM groceries;



119.- Para crear la tabla departamentos y los campos: dep (clave primaria) y departamento en SQL. Seleccione el código correcto, que no tenga ningún error de sintaxis.

 CREATE TABLE departamentos ( dep int NOT NULL,
departamento varchar(255),
PRIMARY KEY (dep))

120.- Según el siguiente código en SQL. Se desea saber la cantidad de productos por pasillos y el número del pasillo al que corresponde cada cantidad. Seleccione el código correcto de la función de agregación.
CREATE TABLE TIENDA
(id INTEGER PRIMARY KEY, nombre TEXT, cantidad INTEGER, pasillo INTEGER);
INSERT INTO TIENDA VALUES (1, 'papaya', 4, 7);
INSERT INTO TIENDA VALUES (2, 'melón', 3, 2);
INSERT INTO TIENDA VALUES (3, 'sandia', 9, 1);
INSERT INTO TIENDA VALUES (4, 'aguacate',2, 5);

 SELECT pasillo, SUM(cantidad) FROM TIENDA GROUP BY pasillo;



121.- ¿Cuál es la estructura básica para la sentencia insert utilizando el estándar de SQL?
 insert into ESTUDIANTES values ('1000','OSCAR ALEJO','SISTEMAS');

122.- Para crear la tabla ESTUDIANTES y los campos: CODIGO, NOMBRE, CARRERA en SQL. Seleccione el código correcto, que no tenga ningún error de sintaxis
 CREATE TABLE ESTUDIANTES(
CODIGO CHAR(6) PRIMARY KEY NOT NULL,
NOMBRE VARCHAR(50) NOT NULL,
CARRERA VARCHAR (30) NOT NULL)

123.- Problema: En una tienda de ropa se necesita conocer los datos personales de cada cliente (nombre, apellido, cedula, fecha de nacimiento, teléfono y dirección). Cada producto tiene un nombre y un código, así como un precio unitario. Un cliente -> puede comprar uno o muchos productos, y un producto -> puede ser comprado por uno o muchos clientes. Todas las compras, debe registrarse las fechas.
Se debe tener en cuenta que uno o muchos productos -> sólo pueden ser suministrados por un proveedor, y que un proveedor -> puede suministrar uno o muchos productos. De cada proveedor se desea conocer el ruc, nombre y correo electrónico”. Seleccione el modelo físico correcto.
 Modelo físico


124.- ¿Cuál es la estructura básica para la sentencia insert utilizando el estándar de SQL?
 insert into ESTUDIANTES values ('1000','OSCAR ALEJO','SISTEMAS');



125.- En la empresa “ITB” se han creado las siguientes tablas con su relación e inserción de registros, donde se requiere hacer las siguientes consultas.
 Mostrar cada una de las comisiones y el número de empleados que las reciben. Solo si tiene comisión.
Elija la consulta que en todas las líneas este correcto.



 select comisionE,
count(*) as 'Num empleados'
from empleados
group by comisionE
having comisionE > 0;








126.- En la empresa “ITB” se han creado las siguientes tablas con su relación e inserción de registros, donde se requiere hacer las siguientes consultas.
• Obtener los nombres de los departamentos que no sean “Ventas” ni “Investigación” NI ‘MANTENIMIENTO’.
Elija la consulta que en todas las líneas este correcto.



 select nombreDpto
from departamentos
where lower(nombreDpto) not in ('ventas', 'investigación', 'mantenimiento');







127- En la empresa “ITB” se han creado las siguientes tablas con su relación e inserción de registros, donde se requiere hacer las siguientes consultas.
• Obtener los nombres, salarios y comisiones de los empleados que reciben un salario situado entre la mitad de la comisión la propia comisión.
Elija la consulta que en todas las líneas este correcto.



 select nomEmp, salEmp, comisionE
from empleados
where salEmp between (comisionE/2) and comisionE;







128.- En la empresa “ITB” se han creado las siguientes tablas con su relación e inserción de registros, donde se requiere hacer las siguientes consultas.
• Mostrar la lista de los empleados cuyo salario es mayor o igual que el promedio de la empresa. Ordenarlo por departamento.
Elija la consulta que en todas las líneas este correcto.



 select nDIEmp, salEmp
from empleados
where salEmp >= (select avg(salEmp) from empleados);





129.- En la empresa “ITB” se han creado las siguientes tablas con su relación e inserción de registros, donde se requiere hacer las siguientes consultas.
• Mostrar el nombre del departamento cuya suma de salarios sea la más alta, indicando el valor de la suma.
Elija la consulta que en todas las líneas este correcto.



 select d.nombreDpto, sum(e.salEmp)
from departamentos d, empleados e
where d.codDepto=e.codDepto
group by d.nombreDpto
order by sum(e.salEmp) desc
limit 1;






130.- En la empresa “ITB” se han creado las siguientes tablas con su relación e inserción de registros, donde se requiere hacer las siguientes consultas.
• Hallar el salario más alto, el más bajo y la diferencia entre ellos.
Elija la consulta que en todas las líneas este correcto.



 select max(salEmp) as 'Salario mayor',
min(salEmp) as 'Salario menor',
max(salEmp) - min(salEmp) as 'Diferencia'
from empleados;







131.- En la empresa “ITB” se han creado las siguientes tablas con su relación e inserción de registros, donde se requiere hacer las siguientes consultas.
• Muestra los empleados cuyo nombre empiece entre las letras J y Z (rango).
• Liste estos empleados y su cargo por orden alfabético.
Elija la consulta que en todas las líneas este correcto.



 select nomEmp, cargoE
from empleados
where lower(nomEmp) > 'j' and lower(nomEmp) < 'z'
order by nomEmp;





UNIDAD 3
132.- Seleccione la opción correcta, los pilares de la Programación Orientada a Objetos son:
 ABSTRACCIÓN, ENCAPSULAMIENTO, HERENCIA Y POLIMORFISMO

133.- Basado en los conceptos de la Programación Orientada a Objetos, ¿Cuál es el método de la clase, cuya principal función es inicializar los atributos de un objeto de la clase?
 MÉTODO CONSTRUCTOR

134.- El paradigma de Programación Orientado a Objetos define dos conceptos fundamentales que siempre debemos aplicar en la construcción de software orientado a objetos, la Clase y el Objeto. Teniendo en cuenta la definición de ambos conceptos, ¿cuál es la diferencia entre clase y objeto?
 Una clase es la representación abstracta de objetos de un mismo tipo mientras que un objeto es una instanciación/concretización de una clase

135.- Las clases son un pilar fundamental que permiten abstraer los datos y sus operaciones de los objetos asociadas al modo de una caja negra. ¿Cuál es la descripción que define mejor el concepto “clase” en la programación orientada a objetos?
 Es un modelo o plantilla a partir de la cual creamos objetos

136.- Es un modelo o plantilla a partir de la cual creamos objetos
 VERDADERO

137.- El programador no puede definir sus propias clases de excepciones
 FALSO

138.- La herencia es un mecanismo que permite la definición de una clase a partir de la definición de otra ya existente. ¿Qué código de los siguientes implementa la relación de herencia en Java?
 public class Administrativo extends Funcionario

139.- Basado en los conceptos Básicos de la Programación Orientada a Objetos, identifique la utilidad del encapsulamiento.
 Ocultar lo que hace un método de lo que hacen los demás métodos de la propia clase y de otras clases, por lo que se llama también ocultación de datos
140.- Para gestionar excepciones hay que insertar el código donde se pueda dar dentro de un bloque try
 VERDADERO

141.- Basado en los conceptos básicos de la Programación Orientada a Objetos. ¿Qué es el Polimorfismo?
 Situación de que una misma operación puede tener diferente comportamiento en diferentes objetos

142.- Dado el siguiente fragmento de código en Java Scanner teclado = new Scanner (System.in); seleccione la afirmación que es correcta:
 La variable teclado es una instancia (objeto) de la clase Scanner de la API de Java

143.- Supongamos que disponemos de las clases Persona, Profesor y Alumno, donde las dos últimas son subclases de la primera. Indicar cuáles son afirmaciones correctas:
a. La clase Persona es superclase de la clase Alumno.
b. Las clases Profesor, Alumno y Persona heredan de la clase Object.
c. La clase Profesor es subclase de la clase Persona.
d. Las clases Profesor y Alumno utilizan la palabra reservada implements en su declaración para poder heredar de Persona.
Seleccione una:
 a, b y c

144.- Las excepciones son normalmente, condiciones de errores imprevistos. Indique verdadero o falso:
 VERDADERO

145.- Clase que hereda de Throwable que permite crear un objeto Exception cuando se lanza la excepción de referencia a un objeto que no ha creado instancias.
 NullPointerException

146.- Un objeto tiene un estado y un comportamiento, que a su vez constan respectivamente de datos almacenados y de tareas realizables durante el tiempo de ejecución. ¿Qué elementos definen a un objeto?
 Sus atributos y sus métodos
147.- Cuando aparece una condición excepcional se crea un objeto Throwable que se envía al método que la ha generado.
 VERDADERO

148.- Podemos ver un método abstracto como una palanca que fuerza dos cosas: la primera, que no se puedan crear objetos de una clase. La segunda, que todas las subclases sobre-escriban el método declarado como abstracto. Una clase que hereda de una clase abstracta puede ser o no abstracta. Indique si la afirmación anterior es verdadera o falsa.
 VERDADERO

149.- Al momento de definir clases estas pueden ser instanciadas al asignar memoria para el objeto del tipo indicado y se necesita un sólo argumento, que es una llamada a alguno de los métodos constructores que tenga la clase. A partir de esta idea seleccione la opción correcta que defina qué es instanciar una clase:
 Crear un objeto a partir de la clase

150.- Dados los siguientes fragmentos de código, ¿cuál de ellos asociaría a una Interfaz en Java? Identifique la instrucción que hace principal referencia a la Implementación de Interfaces
 public class Componente implements Printable

151.- ¡Supongamos que disponemos de las clases Rana, que hereda de Anfibio; Leon, que hereda de Felino y Gacela, que hereda de Bóvido. Así mismo, también disponemos de las interfaces Depredador, implementada por Rana y Leon; y de Presa, implementada por Gacela y Rana. Indicar cuál es la afirmación correcta:
 Las clases Rana y Gacela comparten al menos un método

152.- Si dispones de una clase A, que es subclase de B, y declaras una variable como referencia a un objeto de tipo B. Aunque más tarde esa variable haga referencia a un objeto de tipo A (subclase), ¿cuáles serán los miembros a los que podrás acceder sin que el compilador produzca un error?
 Los miembros de A que hayan sido heredados de B (superclase).




153.- Dado los dos fragmentos de código en Java a continuación:


 La instrucción Vehiculo(7, 90, 7.5F) ejecuta el método constructor de la clase Vehiculo inicializando sus atributos con los valores indicados como argumentos
154.- Dado el siguiente fragmente de código:

 El método de comportamiento cambiaNombre() es un método polimórfico ya que se redefine en la subclase Hijo

155.- Dado el siguiente fragmento de código:

 La clase Hijo hereda todos los miembros definidos en la clase Padre

156.- Dado el siguiente fragmento de código en Java

 Las variables pasajeros, deposito, y consumo son los miembros atributos de la clase Vehículo definida
157.- Una clase es como una plantilla, plano o molde de un conjunto de entidades a partir de la cual se crearán luego instancias particulares de la clase (los objetos). Seleccione el código correcto para declarar una clase:
 public class Miclase1
{
…. Propiedades y Métodos
}

158.- Dada la siguiente definición de clase, ¿cuál sería el contenido más coherente a implementar en el constructor?
public class Test
{
int var;
Test (int var)
{
//CONTENIDO CONSTRUCTOR
}
}

 this.var = var;

159.- La clase LinkedList implementa tanto los métodos que define la interfaz List y también el esqueleto de métodos que define la super interfaz Collection. Teniendo en cuenta la afirmación anterior, seleccione verdadero o falso según sea el caso.
 VERDADERO

160.- Indique cuál o cuáles de las siguientes afirmaciones son correctas:
a. La función peek() de una cola permite consultar el primer elemento (cabeza) y en caso de estar vacía la cola devuelve null.
b. La función element() devuelve, pero no elimina, el primer elemento (cabeza) de la cola.
c. Una interfaz es una clase abstracta que se utiliza para definir una descripción de comportamientos que se puede implementar por cualquier clase en cualquier parte de la jerarquía de clases.
d. Los métodos que se pueden declarar dentro de una interfaz siempre tienen que ser abstractos.
 a y b


161.- Teniendo en cuenta las colecciones de datos de la API de Java, indique cuál de las siguientes afirmaciones es correcta:
 Un iterador es un objeto que proporciona funcionalidad para recorrer todos los elementos de una colección

162.- En la POO (Programación Orientada a Objetos), las interfaces se utilizan para definir un protocolo de comportamiento que se puede implementar por cualquier clase en cualquier parte de la jerarquía de clases que soporta el lenguaje Java. Seleccione si la afirmación anterior es verdadera o falsa.
 VERDADERO

163.- La aplicación Cliente en una aplicación distribuida utilizando la tecnología RMI de Java tiene ciertas responsabilidades de implementación. Seleccione cuáles son algunas de las responsabilidades de la app Cliente:
a. Invocar a los métodos de los objetos remotos.
b. Crea objetos remotos.
c. Obtener una referencia de uno o más objetos remotos en el servidor.
d. Hacer accesibles las referencias a los objetos remotos.
 a y c

164.- S.O.L.I.D. es un acrónimo mnemónico para cinco principios de diseño destinados a hacer que los diseños de software sean más comprensibles, flexibles y mantenibles. Seleccione la opción correcta que indica cuantos principios son:
 5

165.- La clase PriorityQueue, que implementa los métodos que define la subinterfaz Queue, no está obligada a implementar los métodos de la interfaz Collection. Teniendo en cuenta la afirmación anterior, seleccione verdadero o falso según sea el caso:
 FALSO

166.- Teniendo en cuenta las operaciones básicas de colas, responda verdadero o falso según sea el caso: remove(), saca de la cola el elemento que se encuentra al inicio, no verifica en caso de estar vacía.
 VERDADERO


167.- El principio de segregación de interfaces establece que una interfaz de propósito general es mejor que muchas interfaces cliente específicas. Seleccione verdadero o falso.
 FALSO

168.- Se desea implementar en Java un programa de consola para determinar si los delimitadores ( , ) , { , } , [ , ] en una expresión aritmética (e.j. [(5 + x) - (y+z)] ) están equilibrados:
• Ejemplo de expresión correcta: ( ) ( () ) { ( [ ( ) ] ) }
• Ejemplo de expresión incorrecta: ( { [ ] ) }
Teniendo en cuenta la problemática anteriormente descrita, seleccione ¿cuál Estructura de Datos Dinámica (TDA) es la más adecuada implementar para determinar si la expresión aritmética está equilibrada?
 Pila de elementos delimitadores de la expresión aritmética

169.- La interfaz List es una subinterfaz, por tanto, no hereda el esqueleto de métodos que define su interfaz padre Collection. Teniendo en cuenta la afirmación anterior, seleccione verdadero o falso según sea el caso:
 FALSO

170.- La API de colecciones de Java, del paquete java.util, incluye la subinterfaz Queue la cuál define el esqueleto de métodos (funciones y procedimientos) que deben implementar los TDA de colas. Teniendo en cuenta la afirmación anterior, seleccione verdadero o falso según sea el caso:
 VERDADERO

171.- Teniendo en cuenta las operaciones básicas de colas, responda verdadero o falso según sea el caso: offer(Object), almacena, en cualquier orden conocida la posición, el elemento dentro de la cola que se recibe como parámetro.
 FALSO

172.- La arquitectura de un Sistema RMI mismo está formado por niveles o capas de implementación. Seleccione cuántos niveles conforman la arquitectura RMI:
 3



173.- La aplicación Servidor en una aplicación distribuida utilizando la tecnología RMI de Java tiene ciertas responsabilidades de implementación. Seleccione cuáles son algunas de las responsabilidades de la app Servidor:
a) Obtener una referencia de uno o más objetos remotos en el servidor.
b) Crea objetos remotos.
c) Invocar a los métodos de los objetos remotos.
d) Hacer accesibles las referencias a los objetos remotos.

 b y d

174.- El propósito de una interfaz, en la POO (Programación Orientada a Objetos), es proporcionar una superclase a partir de la cual otras clases pueden heredar interfaces e implementaciones. Seleccione si la afirmación anterior es verdadera o falsa.
 FALSO

175.- Indique cuál o cuáles de las siguientes afirmaciones son correctas:
a) Existen principalmente tres subinterfaces en Java que hered
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Operaciones Crud en java netbeasn con mongodb

Publicado por marther (5 intervenciones) el 11/12/2022 18:02:32
BOTONES
package GUI;

import Logica_Operaciones_BD.OperacionesCRUD;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Vector;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.DefaultComboBoxModel;
import javax.swing.event.TableModelListener;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableModel;

/**
*
* @author harol
*/
public class VentanaPrincipalJFrame extends javax.swing.JFrame {

/**
* Creates new form VentanaPrincipalJFrame
*/
public VentanaPrincipalJFrame() {
initComponents();
}

/**
* This method is called from within the constructor to initialize the form.
* WARNING: Do NOT modify this code. The content of this method is always
* regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {

jPanel2 = new javax.swing.JPanel();
jLabel1 = new javax.swing.JLabel();
total_carreras_jTextField = new javax.swing.JTextField();
jButton_mostrarTotalCarreras = new javax.swing.JButton();
jPanel3 = new javax.swing.JPanel();
jScrollPane1 = new javax.swing.JScrollPane();
jTable_ListaCarreras = new javax.swing.JTable();
jButton_mostrarCarreras = new javax.swing.JButton();
jPanel1 = new javax.swing.JPanel();
jScrollPane2 = new javax.swing.JScrollPane();
jTable_ListaParalelos = new javax.swing.JTable();
jButton_mostrarParalelosCarrera = new javax.swing.JButton();
jComboBox_Listado_Carreras_Paralelos = new javax.swing.JComboBox<>();
jLabel2 = new javax.swing.JLabel();
jPanel4 = new javax.swing.JPanel();
jScrollPane3 = new javax.swing.JScrollPane();
jTable_ListaEstudiantes = new javax.swing.JTable();
jLabel3 = new javax.swing.JLabel();
jComboBox_Listado_Carreras_Est = new javax.swing.JComboBox<>();
jButton_mostrarEstudiantesCarrera = new javax.swing.JButton();
jLabel4 = new javax.swing.JLabel();
jComboBox_Listado_Paralelos_Est = new javax.swing.JComboBox<>();
jButton_mostrarEstudiantesParalelo = new javax.swing.JButton();

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
addComponentListener(new java.awt.event.ComponentAdapter() {
public void componentShown(java.awt.event.ComponentEvent evt) {
formComponentShown(evt);
}
});

jPanel2.setBorder(javax.swing.BorderFactory.createEtchedBorder());

jLabel1.setText("Total de Carreras que oferta ITB:");

total_carreras_jTextField.setEditable(false);

jButton_mostrarTotalCarreras.setText("Mostrar");
jButton_mostrarTotalCarreras.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton_mostrarTotalCarrerasActionPerformed(evt);
}
});

javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);
jPanel2.setLayout(jPanel2Layout);
jPanel2Layout.setHorizontalGroup(
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel2Layout.createSequentialGroup()
.addContainerGap()
.addComponent(jLabel1)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(total_carreras_jTextField, javax.swing.GroupLayout.PREFERRED_SIZE, 113, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel2Layout.createSequentialGroup()
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jButton_mostrarTotalCarreras)
.addContainerGap())
);
jPanel2Layout.setVerticalGroup(
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel2Layout.createSequentialGroup()
.addContainerGap()
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel1)
.addComponent(total_carreras_jTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(18, 18, 18)
.addComponent(jButton_mostrarTotalCarreras)
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);

jPanel3.setBorder(javax.swing.BorderFactory.createEtchedBorder());

jTable_ListaCarreras.setModel(new javax.swing.table.DefaultTableModel(
new Object [][] {
{null},
{null},
{null},
{null}
},
new String [] {
"Listado de nombres de Carreras"
}
));
jScrollPane1.setViewportView(jTable_ListaCarreras);

jButton_mostrarCarreras.setText("Mostrar");
jButton_mostrarCarreras.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton_mostrarCarrerasActionPerformed(evt);
}
});

javax.swing.GroupLayout jPanel3Layout = new javax.swing.GroupLayout(jPanel3);
jPanel3.setLayout(jPanel3Layout);
jPanel3Layout.setHorizontalGroup(
jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel3Layout.createSequentialGroup()
.addGap(238, 238, 238)
.addComponent(jButton_mostrarCarreras)
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addGroup(jPanel3Layout.createSequentialGroup()
.addContainerGap()
.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 0, Short.MAX_VALUE)
.addContainerGap())
);
jPanel3Layout.setVerticalGroup(
jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel3Layout.createSequentialGroup()
.addContainerGap()
.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 121, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(jButton_mostrarCarreras)
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);

jPanel1.setBorder(javax.swing.BorderFactory.createEtchedBorder());

jTable_ListaParalelos.setModel(new javax.swing.table.DefaultTableModel(
new Object [][] {
{null},
{null},
{null},
{null}
},
new String [] {
"Listado de paralelos del ITB"
}
));
jScrollPane2.setViewportView(jTable_ListaParalelos);

jButton_mostrarParalelosCarrera.setText("Mostrar");
jButton_mostrarParalelosCarrera.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton_mostrarParalelosCarreraActionPerformed(evt);
}
});

jComboBox_Listado_Carreras_Paralelos.setModel(new javax.swing.DefaultComboBoxModel<>(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" }));

jLabel2.setText("Seleccione la carrera:");

javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
jPanel1.setLayout(jPanel1Layout);
jPanel1Layout.setHorizontalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addContainerGap()
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 0, Short.MAX_VALUE)
.addGroup(jPanel1Layout.createSequentialGroup()
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addComponent(jLabel2)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup()
.addComponent(jComboBox_Listado_Carreras_Paralelos, javax.swing.GroupLayout.PREFERRED_SIZE, 186, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(18, 18, 18)))
.addComponent(jButton_mostrarParalelosCarrera)))
.addContainerGap())
);
jPanel1Layout.setVerticalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addContainerGap()
.addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 111, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jLabel2)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jComboBox_Listado_Carreras_Paralelos, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jButton_mostrarParalelosCarrera))
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);

jPanel4.setBorder(javax.swing.BorderFactory.createEtchedBorder());

jTable_ListaEstudiantes.setModel(new javax.swing.table.DefaultTableModel(
new Object [][] {
{null, null, null},
{null, null, null},
{null, null, null},
{null, null, null}
},
new String [] {
"Cédula", "Nombres", "Apellidos"
}
));
jScrollPane3.setViewportView(jTable_ListaEstudiantes);

jLabel3.setText("Seleccione la carrera:");

jComboBox_Listado_Carreras_Est.setModel(new javax.swing.DefaultComboBoxModel<>(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" }));
jComboBox_Listado_Carreras_Est.setToolTipText("");

jButton_mostrarEstudiantesCarrera.setText("Mostrar");
jButton_mostrarEstudiantesCarrera.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton_mostrarEstudiantesCarreraActionPerformed(evt);
}
});

jLabel4.setText("Seleccione el paralelo:");

jComboBox_Listado_Paralelos_Est.setModel(new javax.swing.DefaultComboBoxModel<>(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" }));

jButton_mostrarEstudiantesParalelo.setText("Mostrar");
jButton_mostrarEstudiantesParalelo.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton_mostrarEstudiantesParaleloActionPerformed(evt);
}
});

javax.swing.GroupLayout jPanel4Layout = new javax.swing.GroupLayout(jPanel4);
jPanel4.setLayout(jPanel4Layout);
jPanel4Layout.setHorizontalGroup(
jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel4Layout.createSequentialGroup()
.addContainerGap()
.addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jScrollPane3, javax.swing.GroupLayout.DEFAULT_SIZE, 635, Short.MAX_VALUE)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel4Layout.createSequentialGroup()
.addGap(0, 0, Short.MAX_VALUE)
.addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addGroup(jPanel4Layout.createSequentialGroup()
.addComponent(jLabel3)
.addGap(18, 18, 18)
.addComponent(jComboBox_Listado_Carreras_Est, javax.swing.GroupLayout.PREFERRED_SIZE, 272, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(jPanel4Layout.createSequentialGroup()
.addComponent(jLabel4)
.addGap(18, 18, 18)
.addComponent(jComboBox_Listado_Paralelos_Est, javax.swing.GroupLayout.PREFERRED_SIZE, 158, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addGap(18, 18, 18)
.addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jButton_mostrarEstudiantesCarrera)
.addComponent(jButton_mostrarEstudiantesParalelo, javax.swing.GroupLayout.Alignment.TRAILING))))
.addContainerGap())
);
jPanel4Layout.setVerticalGroup(
jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel4Layout.createSequentialGroup()
.addContainerGap()
.addComponent(jScrollPane3, javax.swing.GroupLayout.PREFERRED_SIZE, 147, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel3)
.addComponent(jComboBox_Listado_Carreras_Est, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jButton_mostrarEstudiantesCarrera))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel4)
.addComponent(jComboBox_Listado_Paralelos_Est, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jButton_mostrarEstudiantesParalelo))
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);

javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(177, 177, 177)
.addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jPanel4, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGroup(layout.createSequentialGroup()
.addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(18, 18, 18)
.addComponent(jPanel3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))))
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jPanel3, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jPanel4, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(6, 6, 6))
);

pack();
}// </editor-fold>

private void jButton_mostrarTotalCarrerasActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
//1. Obtener la instancia única objeto de la clase OperacionesCRUD
OperacionesCRUD obj_CRUD = OperacionesCRUD.getInstance();
try
{
//2. Obtener la cantidad de carreras del método (obtenerCantCarreras) que consulta a la BD y que implementa el objeto obj_BD (OperacionesCRUD)
int totalCarreras = obj_CRUD.obtenerCantCarreras();
String value = String.valueOf(totalCarreras);
//3. Mostrar en el componente visual total_carreras_jTextField el valor de cantidad de carreras obtenido en el paso 2.
total_carreras_jTextField.setText(value);
}
catch(SQLException err)
{
System.out.println(err.getMessage());
}
}
//OK
private void jButton_mostrarCarrerasActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
//1. Obtener la instancia única objeto de la clase OperacionesCRUD
OperacionesCRUD obj_CRUD = OperacionesCRUD.getInstance();
try
{
//2. Obtener el vector lista de carreras del método (obtenerListadoCarreras) que consulta a la BD y que implementa el objeto obj_BD (OperacionesCRUD)
Vector<String> listado_carreras = obj_CRUD.obtenerListadoCarreras();
//3. Crear el objeto DefaultTableModel del jTable_ListaCarreras que debe mostrar el vector lista de carreras
DefaultTableModel tablaVisual = (DefaultTableModel) jTable_ListaCarreras.getModel();
//4. Setear el componente jTable_ListaCarreras con cero filas y columna de datos a mostrar.
tablaVisual.setRowCount(0);
tablaVisual.setColumnCount(0);
//5. Agregar la columna de datos con cabecera "Listado de Paralelos del ITB" y vector lista de datos.
tablaVisual.addColumn("Listado de nombres de Carreras", listado_carreras);
}
catch(SQLException err)
{
err.printStackTrace();
}
}

private void formComponentShown(java.awt.event.ComponentEvent evt) {
// TODO add your handling code here:
OperacionesCRUD obj_BD = OperacionesCRUD.getInstance();
DefaultComboBoxModel<String> recordList_Carr_Est = (DefaultComboBoxModel)jComboBox_Listado_Carreras_Est.getModel();
DefaultComboBoxModel<String> recordList_Carr_Paralelos = (DefaultComboBoxModel)jComboBox_Listado_Carreras_Paralelos.getModel();

recordList_Carr_Est.removeAllElements();
recordList_Carr_Paralelos.removeAllElements();

try
{
Vector<String> listado_carreas = obj_BD.obtenerListadoCarreras();
int cant_carreras = listado_carreas.size();
for (int fila = 0; fila < cant_carreras; fila++)
{
String nombre_carrera = listado_carreas.get(fila);
recordList_Carr_Est.addElement(nombre_carrera);
recordList_Carr_Paralelos.addElement(nombre_carrera);
}
recordList_Carr_Est.setSelectedItem(listado_carreas.get(0));
recordList_Carr_Paralelos.setSelectedItem(listado_carreas.get(0));
}

catch(SQLException err)
{
err.printStackTrace();
}

DefaultComboBoxModel<String> recordList_Paralelos_Est = (DefaultComboBoxModel)jComboBox_Listado_Paralelos_Est.getModel();
recordList_Paralelos_Est.removeAllElements();

try
{
Vector<String> listado_paralelos_est = obj_BD.obtenerListaParalelos();
int cant_paralelos = listado_paralelos_est.size();
for(int fila = 0; fila < cant_paralelos; fila++)
{
String codigo_paralelo = listado_paralelos_est.get(fila);
recordList_Paralelos_Est.addElement(codigo_paralelo);
}
recordList_Paralelos_Est.setSelectedItem(listado_paralelos_est.get(0));
}
catch(SQLException err)
{
err.printStackTrace();
}
}

private void jButton_mostrarEstudiantesCarreraActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
//1. Obtener la instancia única objeto de la clase OperacionesCRUD
OperacionesCRUD obj_BD = OperacionesCRUD.getInstance();
//2. Obtener la lista de valores del modelo del combobox de lista de carreras.
DefaultComboBoxModel<String> recordList_Carr_Est = (DefaultComboBoxModel)jComboBox_Listado_Carreras_Est.getModel();
//3. Obtener la carrera seleccionado desde el combobox jComboBox_Listado_Carreras_Est
String carrera = (String) recordList_Carr_Est.getSelectedItem();
try
{
//4. Obtener la matriz de datos que devuelve el método (obtenerEstudInscritosPorCarrera) que consulta a la BD y que implementa el objeto obj_BD (OperacionesCRUD)
ArrayList<Vector<String>> consulta = obj_BD.obtenerEstudInscritosPorCarrera(carrera);
//5. Crear el objeto DefaultTableModel del jTable que debe mostrar la matriz de datos de los estudiantes que están inscritos en una carrera en particular
DefaultTableModel tablaVisual = (DefaultTableModel) jTable_ListaEstudiantes.getModel();
//6. Setear el componente jTable_ListaEstudiantes 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 totalFilas = consulta.size();
//8. Recorrer cada fila de la matriz de datos de los estudiantes inscritos en una carrera en particular y para cada iteración resolver:
for (int i = 0; i < totalFilas; i++)
{
Vector filaDatos =(Vector) consulta.get(i);
tablaVisual.addRow(filaDatos);

}
}
catch(SQLException err)
{
err.printStackTrace();
}
}
//OK
private void jButton_mostrarParalelosCarreraActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
//1. Obtener la instancia única objeto de la clase OperacionesCRUD
OperacionesCRUD obj_BD = OperacionesCRUD.getInstance();
//2. Obtener la lista de valores del modelo del combobox de lista de carreras.
DefaultComboBoxModel<String> recordList_Carr_Paralelos = (DefaultComboBoxModel)jComboBox_Listado_Carreras_Paralelos.getModel();
//3. Obtener la carrera seleccionada desde el combobox jComboBox_Listado_Carreras_Paralelos
String lista = (String) recordList_Carr_Paralelos.getSelectedItem();
try
{
//4. Obtener el vector lista de paralelos del método (obtenerListaParalelosCarrera) que consulta a la BD y que implementa el objeto obj_BD (OperacionesCRUD)
Vector<String> lista_paralelos_codigo = obj_BD.obtenerListaParalelosCarrera(lista);
//5. Crear el objeto DefaultTableModel del jTable que debe mostrar el vector lista de paralelos
DefaultTableModel tablaVisual = (DefaultTableModel) jTable_ListaParalelos.getModel();
//6. Setear el componente jTable_ListaParalelos con cero filas y columna de datos a mostrar.
tablaVisual.setRowCount(0);
tablaVisual.setColumnCount(0);
//7. Agregar la columna de datos con cabecera "Listado de Paralelos del ITB" y vector lista de datos "lista_paralelos".
tablaVisual.addColumn("Listado de Paralelos del ITB", lista_paralelos_codigo);
}
catch(SQLException err)
{
err.printStackTrace();
}
}
//OK
private void jButton_mostrarEstudiantesParaleloActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
//1. Obtener la instancia única objeto de la clase OperacionesCRUD
OperacionesCRUD obj_BD = OperacionesCRUD.getInstance();
//2. Obtener la lista de valores del modelo del combobox de lista de paralelos.
DefaultComboBoxModel<String> recordList_Paralelos_Est = (DefaultComboBoxModel)jComboBox_Listado_Paralelos_Est.getModel();
//3. Obtener el paralelo seleccionado desde el combobox jComboBox_Listado_Paralelos_Est
String paralelo = (String) recordList_Paralelos_Est.getSelectedItem();
try
{
//4. Obtener la matriz de datos que devuelve el método (obtenerEstudInscritosPorParalelo) que consulta a la BD y que implementa el objeto obj_BD (OperacionesCRUD)
ArrayList<Vector<String>> consulta = obj_BD.obtenerEstudInscritosPorParalelo(paralelo);
//5. Crear el objeto DefaultTableModel del jTable que debe mostrar la matriz de datos de los estudiantes que están inscritos en un paralelo en particular
DefaultTableModel tablaVisual = (DefaultTableModel) jTable_ListaEstudiantes.getModel();
//6. Setear el componente jTable_ListaEstudiantes 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 totalFilas = consulta.size();
//8. Recorrer cada fila de la matriz de datos de los estudiantes inscritos en un paralelo en particular y para cada iteración resolver:
for (int i = 0; i < totalFilas; i++)
{
Vector filaDatos =(Vector) consulta.get(i);
tablaVisual.addRow(filaDatos);

}
}
catch(SQLException err)
{
err.printStackTrace();
}
}

/**
* @param args the command line arguments
*/
public static void main(String args[]) {
/* Set the Nimbus look and feel */
//<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
/* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
* For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
*/
try {
for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
if ("Nimbus".equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}
}
} catch (ClassNotFoundException ex) {
java.util.logging.Logger.getLogger(VentanaPrincipalJFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(VentanaPrincipalJFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {
java.util.logging.Logger.getLogger(VentanaPrincipalJFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {
java.util.logging.Logger.getLogger(VentanaPrincipalJFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
}
//</editor-fold>

/* Create and display the form */
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new VentanaPrincipalJFrame().setVisible(true);
}
});
}

// Variables declaration - do not modify
private javax.swing.JButton jButton_mostrarCarreras;
private javax.swing.JButton jButton_mostrarEstudiantesCarrera;
private javax.swing.JButton jButton_mostrarEstudiantesParalelo;
private javax.swing.JButton jButton_mostrarParalelosCarrera;
private javax.swing.JButton jButton_mostrarTotalCarreras;
private javax.swing.JComboBox<String> jComboBox_Listado_Carreras_Est;
private javax.swing.JComboBox<String> jComboBox_Listado_Carreras_Paralelos;
private javax.swing.JComboBox<String> jComboBox_Listado_Paralelos_Est;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel4;
private javax.swing.JPanel jPanel1;
private javax.swing.JPanel jPanel2;
private javax.swing.JPanel jPanel3;
private javax.swing.JPanel jPanel4;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JScrollPane jScrollPane2;
private javax.swing.JScrollPane jScrollPane3;
private javax.swing.JTable jTable_ListaCarreras;
private javax.swing.JTable jTable_ListaEstudiantes;
private javax.swing.JTable jTable_ListaParalelos;
private javax.swing.JTextField total_carreras_jTextField;
// End of variables declaration
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Operaciones Crud en java netbeasn con mongodb

Publicado por marther (5 intervenciones) el 13/12/2022 01:52:22

BOTONES




private void jButton_mostrarTotalCarrerasActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
//1. Obtener la instancia única objeto de la clase OperacionesCRUD
OperacionesCRUD obj_CRUD = OperacionesCRUD.getInstance();
try
{
//2. Obtener la cantidad de carreras del método (obtenerCantCarreras) que consulta a la BD y que implementa el objeto obj_BD (OperacionesCRUD)
int totalCarreras = obj_CRUD.obtenerCantCarreras();
String value = String.valueOf(totalCarreras);
//3. Mostrar en el componente visual total_carreras_jTextField el valor de cantidad de carreras obtenido en el paso 2.
total_carreras_jTextField.setText(value);
}
catch(SQLException err)
{
System.out.println(err.getMessage());
}
}
//OK
private void jButton_mostrarCarrerasActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
//1. Obtener la instancia única objeto de la clase OperacionesCRUD
OperacionesCRUD obj_CRUD = OperacionesCRUD.getInstance();
try
{
//2. Obtener el vector lista de carreras del método (obtenerListadoCarreras) que consulta a la BD y que implementa el objeto obj_BD (OperacionesCRUD)
Vector<String> listado_carreras = obj_CRUD.obtenerListadoCarreras();
//3. Crear el objeto DefaultTableModel del jTable_ListaCarreras que debe mostrar el vector lista de carreras
DefaultTableModel tablaVisual = (DefaultTableModel) jTable_ListaCarreras.getModel();
//4. Setear el componente jTable_ListaCarreras con cero filas y columna de datos a mostrar.
tablaVisual.setRowCount(0);
tablaVisual.setColumnCount(0);
//5. Agregar la columna de datos con cabecera "Listado de Paralelos del ITB" y vector lista de datos.
tablaVisual.addColumn("Listado de nombres de Carreras", listado_carreras);
}
catch(SQLException err)
{
err.printStackTrace();
}
}

private void formComponentShown(java.awt.event.ComponentEvent evt) {
// TODO add your handling code here:
OperacionesCRUD obj_BD = OperacionesCRUD.getInstance();
DefaultComboBoxModel<String> recordList_Carr_Est = (DefaultComboBoxModel)jComboBox_Listado_Carreras_Est.getModel();
DefaultComboBoxModel<String> recordList_Carr_Paralelos = (DefaultComboBoxModel)jComboBox_Listado_Carreras_Paralelos.getModel();

recordList_Carr_Est.removeAllElements();
recordList_Carr_Paralelos.removeAllElements();

try
{
Vector<String> listado_carreas = obj_BD.obtenerListadoCarreras();
int cant_carreras = listado_carreas.size();
for (int fila = 0; fila < cant_carreras; fila++)
{
String nombre_carrera = listado_carreas.get(fila);
recordList_Carr_Est.addElement(nombre_carrera);
recordList_Carr_Paralelos.addElement(nombre_carrera);
}
recordList_Carr_Est.setSelectedItem(listado_carreas.get(0));
recordList_Carr_Paralelos.setSelectedItem(listado_carreas.get(0));
}

catch(SQLException err)
{
err.printStackTrace();
}

DefaultComboBoxModel<String> recordList_Paralelos_Est = (DefaultComboBoxModel)jComboBox_Listado_Paralelos_Est.getModel();
recordList_Paralelos_Est.removeAllElements();

try
{
Vector<String> listado_paralelos_est = obj_BD.obtenerListaParalelos();
int cant_paralelos = listado_paralelos_est.size();
for(int fila = 0; fila < cant_paralelos; fila++)
{
String codigo_paralelo = listado_paralelos_est.get(fila);
recordList_Paralelos_Est.addElement(codigo_paralelo);
}
recordList_Paralelos_Est.setSelectedItem(listado_paralelos_est.get(0));
}
catch(SQLException err)
{
err.printStackTrace();
}
}

private void jButton_mostrarEstudiantesCarreraActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
//1. Obtener la instancia única objeto de la clase OperacionesCRUD
OperacionesCRUD obj_BD = OperacionesCRUD.getInstance();
//2. Obtener la lista de valores del modelo del combobox de lista de carreras.
DefaultComboBoxModel<String> recordList_Carr_Est = (DefaultComboBoxModel)jComboBox_Listado_Carreras_Est.getModel();
//3. Obtener la carrera seleccionado desde el combobox jComboBox_Listado_Carreras_Est
String carrera = (String) recordList_Carr_Est.getSelectedItem();
try
{
//4. Obtener la matriz de datos que devuelve el método (obtenerEstudInscritosPorCarrera) que consulta a la BD y que implementa el objeto obj_BD (OperacionesCRUD)
ArrayList<Vector<String>> consulta = obj_BD.obtenerEstudInscritosPorCarrera(carrera);
//5. Crear el objeto DefaultTableModel del jTable que debe mostrar la matriz de datos de los estudiantes que están inscritos en una carrera en particular
DefaultTableModel tablaVisual = (DefaultTableModel) jTable_ListaEstudiantes.getModel();
//6. Setear el componente jTable_ListaEstudiantes 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 totalFilas = consulta.size();
//8. Recorrer cada fila de la matriz de datos de los estudiantes inscritos en una carrera en particular y para cada iteración resolver:
for (int i = 0; i < totalFilas; i++)
{
Vector filaDatos =(Vector) consulta.get(i);
tablaVisual.addRow(filaDatos);

}
}
catch(SQLException err)
{
err.printStackTrace();
}
}
//OK
private void jButton_mostrarParalelosCarreraActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
//1. Obtener la instancia única objeto de la clase OperacionesCRUD
OperacionesCRUD obj_BD = OperacionesCRUD.getInstance();
//2. Obtener la lista de valores del modelo del combobox de lista de carreras.
DefaultComboBoxModel<String> recordList_Carr_Paralelos = (DefaultComboBoxModel)jComboBox_Listado_Carreras_Paralelos.getModel();
//3. Obtener la carrera seleccionada desde el combobox jComboBox_Listado_Carreras_Paralelos
String lista = (String) recordList_Carr_Paralelos.getSelectedItem();
try
{
//4. Obtener el vector lista de paralelos del método (obtenerListaParalelosCarrera) que consulta a la BD y que implementa el objeto obj_BD (OperacionesCRUD)
Vector<String> lista_paralelos_codigo = obj_BD.obtenerListaParalelosCarrera(lista);
//5. Crear el objeto DefaultTableModel del jTable que debe mostrar el vector lista de paralelos
DefaultTableModel tablaVisual = (DefaultTableModel) jTable_ListaParalelos.getModel();
//6. Setear el componente jTable_ListaParalelos con cero filas y columna de datos a mostrar.
tablaVisual.setRowCount(0);
tablaVisual.setColumnCount(0);
//7. Agregar la columna de datos con cabecera "Listado de Paralelos del ITB" y vector lista de datos "lista_paralelos".
tablaVisual.addColumn("Listado de Paralelos del ITB", lista_paralelos_codigo);
}
catch(SQLException err)
{
err.printStackTrace();
}
}
//OK
private void jButton_mostrarEstudiantesParaleloActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
//1. Obtener la instancia única objeto de la clase OperacionesCRUD
OperacionesCRUD obj_BD = OperacionesCRUD.getInstance();
//2. Obtener la lista de valores del modelo del combobox de lista de paralelos.
DefaultComboBoxModel<String> recordList_Paralelos_Est = (DefaultComboBoxModel)jComboBox_Listado_Paralelos_Est.getModel();
//3. Obtener el paralelo seleccionado desde el combobox jComboBox_Listado_Paralelos_Est
String paralelo = (String) recordList_Paralelos_Est.getSelectedItem();
try
{
//4. Obtener la matriz de datos que devuelve el método (obtenerEstudInscritosPorParalelo) que consulta a la BD y que implementa el objeto obj_BD (OperacionesCRUD)
ArrayList<Vector<String>> consulta = obj_BD.obtenerEstudInscritosPorParalelo(paralelo);
//5. Crear el objeto DefaultTableModel del jTable que debe mostrar la matriz de datos de los estudiantes que están inscritos en un paralelo en particular
DefaultTableModel tablaVisual = (DefaultTableModel) jTable_ListaEstudiantes.getModel();
//6. Setear el componente jTable_ListaEstudiantes 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 totalFilas = consulta.size();
//8. Recorrer cada fila de la matriz de datos de los estudiantes inscritos en un paralelo en particular y para cada iteración resolver:
for (int i = 0; i < totalFilas; i++)
{
Vector filaDatos =(Vector) consulta.get(i);
tablaVisual.addRow(filaDatos);

}
}
catch(SQLException err)
{
err.printStackTrace();
}
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Operaciones Crud en java netbeasn con mongodb

Publicado por marther (5 intervenciones) el 13/12/2022 01:45:36

CRUD




//inciso 1.
public int obtenerCantCarreras() throws SQLException //CONSULTA 1, PARTE 1.
{
//1. Conectar a la base de datos
this.iniciarConexionBD();
//2. Variable para almacenar el total de carreras almacenadas en la base de datos.
int totalCarreras = 0;
//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_carreras from carreras c";
//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())
{
totalCarreras = tabla.getInt("total_carreras");
}
//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 totalCarreras;
}
//inciso 2.
public Vector<String> obtenerListadoCarreras() throws SQLException //CONSULTA 2
{
//1. Conectar a la base de datos
this.iniciarConexionBD();
//2. Crear el vector para almacenar la lista de nombres de carreras resultante de la consulta SQL a la base de datos.
Vector<String> listado_carreras = new Vector<>();
//complete la lógica del bloque de código que resuelve:
//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 c.nombre as nombres_carreras from carreras c";
//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())
{
String nombre_carrera = tabla.getString("nombres_carreras");
listado_carreras.add(nombre_carrera);
}
//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 listado_carreras;
}

//OK
public Vector<String> obtenerListaParalelos() throws SQLException
{
//1. Conectar a la base de datos
this.iniciarConexionBD();
//2. Crear el vector para almacenar la lista de códgidos de paralelos resultante de la consulta SQL a la base de datos.
Vector<String> lista_paralelos = new Vector<>();
//complete la lógica del bloque de código que resuelve:
//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 p.nombre as PARALELOS from paralelos p";
//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. Obtener el valor de columna de la fila actual del objeto ResultSet
String valorColumna = tabla.getString("PARALELOS");
//6.2. Almacenar en el vector creado en el paso 2. el valor de columna de la fila actual del objeto ResultSet
lista_paralelos.add(valorColumna);
}
//7. Cerrar la conexion a la base de datos
this.cerrarConexionBD();
//8. Retornar el objeto vector con la lista de códigos de paralelos almacenados en la base de datos
return lista_paralelos;
}
//Inciso 3
public Vector<String> obtenerListaParalelosCarrera(String p_nombre_carrera) throws SQLException
{
//1. Conectar a la base de datos
this.iniciarConexionBD();
//2. Crear el vector para almacenar la lista de códgidos de paralelos resultante de la consulta SQL a la base de datos.
Vector<String> lista_paralelos_codigo = new Vector<>();
//complete la lógica del bloque de código que resuelve:
//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 p.nombre, p.cod_paralelo FROM paralelos p join carreras c on p.cod_carrera = c.cod_carrera where c.nombre = '"+p_nombre_carrera+"'";
//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())
{
String valorColumna = tabla.getString("nombre");
lista_paralelos_codigo.add(valorColumna);
}
//7. Cerrar la conexion a la base de datos
this.cerrarConexionBD();
//8. Retornar el objeto vector con la lista de códigos de paralelos almacenados en la base de datos
return lista_paralelos_codigo;
}

//Inciso 4
public ArrayList<Vector<String>> obtenerEstudInscritosPorCarrera(String p_nombre_carrera) throws SQLException
{
//1. Conectar a la base de datos
this.iniciarConexionBD();
//2. Crear la matriz de datos para almacenar la consulta SQL, cada fila es un Vector de String
ArrayList<Vector<String>> consulta = new ArrayList<>();
//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 e.cedula, e.nombres, e.apellidos from inscripciones_estudiantes i \n" +
"JOIN estudiantes e ON (i.cedula = e.cedula)\n" +
"JOIN carreras c ON (i.cod_carrera = c.cod_carrera) where c.nombre = '"+p_nombre_carrera+"'";
//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())
{
Vector <String> datos = new Vector <>();
String cedula = tabla.getString("cedula");
datos.add(cedula);
String nombre = tabla.getString("nombres");
datos.add(nombre);
String apellido = tabla.getString("apellidos");
datos.add(apellido);
consulta.add(datos);
}
//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 consulta;
}

//Inciso 5
public ArrayList<Vector<String>> obtenerEstudInscritosPorParalelo(String p_codigo_paralelo) throws SQLException
{
//1. Conectar a la base de datos
this.iniciarConexionBD();
//2. Crear la matriz de datos para almacenar la consulta SQL, cada fila es un Vector de String
ArrayList<Vector<String>> consulta = new ArrayList<>();
//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 e.cedula, e.nombres, e.apellidos from inscripciones_estudiantes i \n" +
"JOIN estudiantes e ON (i.cedula = e.cedula)\n" +
"JOIN paralelos p ON (i.cod_paralelo = p.cod_paralelo ) where p.nombre = '"+p_codigo_paralelo+"'";
//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())
{
Vector datos = new Vector <>();
String cedula = tabla.getString("cedula");
datos.add(cedula);
String nombre = tabla.getString("nombres");
datos.add(nombre);
String apellido = tabla.getString("apellidos");
datos.add(apellido);
consulta.add(datos);
}
//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 consulta;
}

}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Operaciones Crud en java netbeasn con mongodb

Publicado por intelectual (1 intervención) el 14/12/2022 06:04:29
OPER CRUD
public int obtenerCantCarreras() throws SQLException //CONSULTA 1, PARTE 1.
{
//1. Conectar a la base de datos
this.iniciarConexionBD();
//2. Variable para almacenar el total de carreras almacenadas en la base de datos.
int totalCarreras = 0;
//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_carreras from carreras c";
//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())
{
totalCarreras = tabla.getInt("total_carreras");
}
//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 totalCarreras;
}

//inciso 2.
public Vector<String> obtenerListadoCarreras() throws SQLException //CONSULTA 2
{
//1. Conectar a la base de datos
this.iniciarConexionBD();
//2. Crear el vector para almacenar la lista de nombres de carreras resultante de la consulta SQL a la base de datos.
Vector<String> listado_carreras = new Vector<>();
//complete la lógica del bloque de código que resuelve:
//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 c.nombre as nombres_carreras from carreras c";
//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())
{
String nombre_carrera = tabla.getString("nombres_carreras");
listado_carreras.add(nombre_carrera);
}
//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 listado_carreras;
}
//OK
public Vector<String> obtenerListaParalelos() throws SQLException
{
//1. Conectar a la base de datos
this.iniciarConexionBD();
//2. Crear el vector para almacenar la lista de códgidos de paralelos resultante de la consulta SQL a la base de datos.
Vector<String> lista_paralelos = new Vector<>();

//complete la lógica del bloque de código que resuelve:
//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 p.nombre as PARALELOS from paralelos p";
//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. Obtener el valor de columna de la fila actual del objeto ResultSet
String valorColumna = tabla.getString("PARALELOS");
//6.2. Almacenar en el vector creado en el paso 2. el valor de columna de la fila actual del objeto ResultSet
lista_paralelos.add(valorColumna);
}
//7. Cerrar la conexion a la base de datos
this.cerrarConexionBD();
//8. Retornar el objeto vector con la lista de códigos de paralelos almacenados en la base de datos
return lista_paralelos;
}
//Inciso 3
public Vector<String> obtenerListaParalelosCarrera(String p_nombre_carrera) throws SQLException
{
//1. Conectar a la base de datos
this.iniciarConexionBD();

//2. Crear el vector para almacenar la lista de códgidos de paralelos resultante de la consulta SQL a la base de datos.
Vector<String> lista_codparalelos = new Vector<>();
//complete la lógica del bloque de código que resuelve:
//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 paralelos.nombre, paralelos.cod_paralelo from paralelos JOIN carreras ON paralelos.cod_carrera = carreras.cod_carrera where carreras.nombre = '"+p_nombre_carrera+"'" ;
//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. Obtener el valor de columna de la fila actual del objeto ResultSet
String valorColumna = tabla.getString("nombre");
//6.2. Almacenar en el vector creado en el paso 2. el valor de columna de la fila actual del objeto ResultSet
lista_codparalelos.add(valorColumna);
}
//7. Cerrar la conexion a la base de datos
this.cerrarConexionBD();
//8. Retornar el objeto vector con la lista de códigos de paralelos almacenados en la base de datos
return lista_codparalelos;
}
//Inciso 4
public ArrayList<Vector<String>> obtenerEstudInscritosPorCarrera(String p_nombre_carrera) throws SQLException
{
//1. Conectar a la base de datos
this.iniciarConexionBD();
//2. Crear la matriz de datos para almacenar la consulta SQL, cada fila es un Vector de String
ArrayList<Vector<String>> consulta = new ArrayList<>();
//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 e.cedula, e.nombres, e.apellidos from inscripciones_estudiantes i \n" +
"JOIN estudiantes e ON (i.cedula = e.cedula)\n" +
"JOIN carreras c ON (i.cod_carrera = c.cod_carrera) where c.nombre = '"+p_nombre_carrera+"'";
//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())
{
Vector dato = new Vector <>();
String cedula = tabla.getString("cedula");
dato.add(cedula);
String nombre = tabla.getString("nombres");
dato.add(nombre);
String apellido = tabla.getString("apellidos");
dato.add(apellido);
consulta.add(dato);
}
//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 consulta;
}
//Inciso 5
public ArrayList<Vector<String>> obtenerEstudInscritosPorParalelo(String p_codigo_paralelo) throws SQLException
{
//1. Conectar a la base de datos
this.iniciarConexionBD();
//2. Crear la matriz de datos para almacenar la consulta SQL, cada fila es un Vector de String
ArrayList<Vector<String>> consulta = new ArrayList<>();
//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 e.cedula, e.nombres, e.apellidos from inscripciones_estudiantes i \n" +
"JOIN estudiantes e ON (i.cedula = e.cedula)\n" +
"JOIN paralelos p ON (i.cod_paralelo = p.cod_paralelo ) where p.nombre = '"+p_codigo_paralelo+"'";
//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())
{
Vector dato = new Vector <>();
String cedula = tabla.getString("cedula");
dato.add(cedula);
String nombre = tabla.getString("nombres");
dato.add(nombre);
String apellido = tabla.getString("apellidos");
dato.add(apellido);
consulta.add(dato);
}
//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 consulta;
}

BUTTON

private void jButton_mostrarTotalCarrerasActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
//1. Obtener la instancia única objeto de la clase OperacionesCRUD
OperacionesCRUD obj_CRUD = OperacionesCRUD.getInstance();
try
{
//2. Obtener la cantidad de carreras del método (obtenerCantCarreras) que consulta a la BD y que implementa el objeto obj_BD (OperacionesCRUD)
int totalCarreras = obj_CRUD.obtenerCantCarreras();
String value = String.valueOf(totalCarreras);
//3. Mostrar en el componente visual total_carreras_jTextField el valor de cantidad de carreras obtenido en el paso 2.
total_carreras_jTextField.setText(value);
}
catch(SQLException err)
{
System.out.println(err.getMessage());
}

private void jButton_mostrarTotalCarrerasActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
//1. Obtener la instancia única objeto de la clase OperacionesCRUD
OperacionesCRUD obj_CRUD = OperacionesCRUD.getInstance();
try
{
//2. Obtener la cantidad de carreras del método (obtenerCantCarreras) que consulta a la BD y que implementa el objeto obj_BD (OperacionesCRUD)
int totalCarreras = obj_CRUD.obtenerCantCarreras();
String value = String.valueOf(totalCarreras);
//3. Mostrar en el componente visual total_carreras_jTextField el valor de cantidad de carreras obtenido en el paso 2.
total_carreras_jTextField.setText(value);
}
catch(SQLException err)
{
System.out.println(err.getMessage());
}
}
//OK
private void jButton_mostrarCarrerasActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
//1. Obtener la instancia única objeto de la clase OperacionesCRUD
OperacionesCRUD obj_CRUD = OperacionesCRUD.getInstance();
try
{
//2. Obtener el vector lista de carreras del método (obtenerListadoCarreras) que consulta a la BD y que implementa el objeto obj_BD (OperacionesCRUD)
Vector<String> listado_carreras = obj_CRUD.obtenerListadoCarreras();
//3. Crear el objeto DefaultTableModel del jTable_ListaCarreras que debe mostrar el vector lista de carreras
DefaultTableModel tablaVisual = (DefaultTableModel) jTable_ListaCarreras.getModel();
//4. Setear el componente jTable_ListaCarreras con cero filas y columna de datos a mostrar.
tablaVisual.setRowCount(0);
tablaVisual.setColumnCount(0);
//5. Agregar la columna de datos con cabecera "Listado de Paralelos del ITB" y vector lista de datos.
tablaVisual.addColumn("Listado de nombres de Carreras", listado_carreras);
}
catch(SQLException err)
{
err.printStackTrace();
}

private void jButton_mostrarEstudiantesCarreraActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
//1. Obtener la instancia única objeto de la clase OperacionesCRUD
OperacionesCRUD obj_BD = OperacionesCRUD.getInstance();
//2. Obtener la lista de valores del modelo del combobox de lista de carreras.
DefaultComboBoxModel<String> recordList_Carr_Est = (DefaultComboBoxModel)jComboBox_Listado_Carreras_Est.getModel();
//3. Obtener la carrera seleccionado desde el combobox jComboBox_Listado_Carreras_Est
String carrera = (String) recordList_Carr_Est.getSelectedItem();
try
{
//4. Obtener la matriz de datos que devuelve el método (obtenerEstudInscritosPorCarrera) que consulta a la BD y que implementa el objeto obj_BD (OperacionesCRUD)
ArrayList<Vector<String>> consulta = obj_BD.obtenerEstudInscritosPorCarrera(carrera);
//5. Crear el objeto DefaultTableModel del jTable que debe mostrar la matriz de datos de los estudiantes que están inscritos en una carrera en particular
DefaultTableModel tablaVisual = (DefaultTableModel) jTable_ListaEstudiantes.getModel();
//6. Setear el componente jTable_ListaEstudiantes 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 totalFilas = consulta.size();
//8. Recorrer cada fila de la matriz de datos de los estudiantes inscritos en una carrera en particular y para cada iteración resolver:
for (int i =0; i<totalFilas; i++){
Vector filaDatos =(Vector) consulta.get(i);
tablaVisual.addRow(filaDatos);

}
}
catch(SQLException err)
{

private void jButton_mostrarParalelosCarreraActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
//1. Obtener la instancia única objeto de la clase OperacionesCRUD
OperacionesCRUD obj_BD = OperacionesCRUD.getInstance();
//2. Obtener la lista de valores del modelo del combobox de lista de carreras.
DefaultComboBoxModel<String> recordList_Carr_Paralelos = (DefaultComboBoxModel)jComboBox_Listado_Carreras_Paralelos.getModel();
//3. Obtener la carrera seleccionada desde el combobox jComboBox_Listado_Carreras_Paralelos
String carrera = (String) recordList_Carr_Paralelos.getSelectedItem();
try
{
//4. Obtener el vector lista de paralelos del método (obtenerListaParalelosCarrera) que consulta a la BD y que implementa el objeto obj_BD (OperacionesCRUD)
Vector<String> lista_codparalelos = obj_BD.obtenerListaParalelosCarrera(carrera);
//5. Crear el objeto DefaultTableModel del jTable que debe mostrar el vector lista de paralelos
DefaultTableModel tablaVisual = (DefaultTableModel) jTable_ListaParalelos.getModel();
//6. Setear el componente jTable_ListaParalelos con cero filas y columna de datos a mostrar.
tablaVisual.setRowCount(0);
tablaVisual.setColumnCount(0);
//7. Agregar la columna de datos con cabecera "Listado de Paralelos del ITB" y vector lista de datos "lista_paralelos".
tablaVisual.addColumn("Listado de nombres de Paralelos", lista_codparalelos);
}
catch(SQLException err)
{
err.printStackTrace()

private void jButton_mostrarEstudiantesParaleloActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
//1. Obtener la instancia única objeto de la clase OperacionesCRUD
OperacionesCRUD obj_BD = OperacionesCRUD.getInstance();
//2. Obtener la lista de valores del modelo del combobox de lista de paralelos.
DefaultComboBoxModel<String> recordList_Paralelos_Est = (DefaultComboBoxModel)jComboBox_Listado_Paralelos_Est.getModel();
//3. Obtener el paralelo seleccionado desde el combobox jComboBox_Listado_Paralelos_Est
String paralelo = (String) recordList_Paralelos_Est.getSelectedItem();
try
{
//4. Obtener la matriz de datos que devuelve el método (obtenerEstudInscritosPorParalelo) que consulta a la BD y que implementa el objeto obj_BD (OperacionesCRUD)
ArrayList<Vector<String>> consulta = obj_BD.obtenerEstudInscritosPorParalelo(paralelo);
//5. Crear el objeto DefaultTableModel del jTable que debe mostrar la matriz de datos de los estudiantes que están inscritos en un paralelo en particular
DefaultTableModel tablaVisual = (DefaultTableModel) jTable_ListaEstudiantes.getModel();
//6. Setear el componente jTable_ListaEstudiantes 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 totalFilas = consulta.size();
//8. Recorrer cada fila de la matriz de datos de los estudiantes inscritos en un paralelo en particular y para cada iteración resolver:
for (int i =0; i<totalFilas; i++){
Vector filaDatos =(Vector) consulta.get(i);
tablaVisual.addRow(filaDatos);

}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Operaciones Crud en java netbeasn con mongodb

Publicado por select (1 intervención) el 15/12/2022 15:08:22
--1. El total de carreras que oferta el ITB.
select nombre from carreras;

--2. El listado con los nombres de cada carrera que oferta el ITB.
select nombre from carreras;

--3. El listado de paralelos con sus respectivos códigos a filtrar por nombre de carreras.

select p.nombre from paralelos p join carreras c on p.cod_carrera = c.cod_carrera where c.nombre = '&nombre';

--4. El listado de estudiantes (cédula, nombres y apellidos) inscritos a filtrar por carreras.

select e.cedula, e.nombres, e.apellidos from inscripciones_estudiantes i
join estudiantes e on i.cedula = e.cedula
join carreras c on i.cod_carrera = c.cod_carrera
where c.nombre = '&nombre'

--5. El listado de estudiantes (cédula, nombres y apellidos) inscritos a filtrar por paralelos.

select e.cedula, e.nombres, e.apellidos from inscripciones_estudiantes i
join estudiantes e on i.cedula = e.cedula
join paralelos p on i.cod_paralelo = p.cod_paralelo
where p.nombre = '&nombre'
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Operaciones Crud en java netbeasn con mongodb

Publicado por select2 (2 intervenciones) el 16/12/2022 20:43:15
select count (*) as cantidad_personas from personas;

select c.nombre as nombres_carreras from carreras;

select nombre as nombre_de_carreras from carreras;

select p.cedula,p.nombres,p.apellidos,p.sexo from inscripciones i
JOIN personas p on i.estudiante_cedula= p.cedula
join carreras c on i.carrera_codigo_carr = c.codigo_carr
where c.nombre = '&nombre'
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Operaciones Crud en java netbeasn con mongodb

Publicado por christopher (1 intervención) el 19/12/2022 19:56:55
BUTTON
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());
}
//-----------------------------------------------------------------------------------
}
//OK
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();
//System.out.println(listadoNombresProductosStock.toString());
//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();
}

//----------------------------------------------------------------------------------------------------------------------------------------
}

private void formComponentShown(java.awt.event.ComponentEvent evt) {
// TODO add your handling code here:
OperacionesCRUD obj_BD = OperacionesCRUD.getInstance();
DefaultComboBoxModel<String> recordList_Carr_Est = (DefaultComboBoxModel)jComboBox_listadoCodigosFacturas.getModel();
recordList_Carr_Est.removeAllElements();
try
{
Vector<String> listado_codigosFacturas = obj_BD.obtenerCogidosFacturas();
int cant_carreras = listado_codigosFacturas.size();
for (int fila = 0; fila < cant_carreras; fila++)
{
String nombre_carrera = listado_codigosFacturas.get(fila);
recordList_Carr_Est.addElement(nombre_carrera);
}
recordList_Carr_Est.setSelectedItem(listado_codigosFacturas.get(0));
}
catch(SQLException err)
{
err.printStackTrace();
}
}

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

//----------------------------------------------------------------------------------------------------------------------------------------
}

/**
* @param args the command line arguments
*/
public static void main(String args[]) {
/* Set the Nimbus look and feel */
//<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
/* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
* For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
*/
try {
for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
if ("Nimbus".equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}
}
} catch (ClassNotFoundException ex) {
java.util.logging.Logger.getLogger(VentanaPrincipalJFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(VentanaPrincipalJFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {
java.util.logging.Logger.getLogger(VentanaPrincipalJFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {
java.util.logging.Logger.getLogger(VentanaPrincipalJFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
}
//</editor-fold>

/* Create and display the form */
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new VentanaPrincipalJFrame().setVisible(true);
}
});
}


CRUD

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;
}
//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 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 lista = tabla.getString("descripcion");
//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(lista);
}
//--------------------------------------------------------------------------------------------------------------------------------------------------
//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;
}
//OK
public Vector<String> obtenerCogidosFacturas() throws SQLException
{
//1. Conectar a la base de datos
this.iniciarConexionBD();
//2. Crear el vector para almacenar la lista de códigos de facturas resultante de la consulta SQL a la base de datos.
Vector<String> lista_codigosFacturas = new Vector<>();
//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 f.codigo as cogido_factura from facturas f";
//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. Obtener el valor de codigo de factura de la fila actual del objeto ResultSet
String codigoFactura = tabla.getString("cogido_factura");
//6.2. Almacenar en el vector creado en el paso 2. el valor de codigo de factura de la fila actual del objeto ResultSet
lista_codigosFacturas.add(codigoFactura);
}
//7. Cerrar la conexion a la base de datos
this.cerrarConexionBD();
//8. Retornar el objeto vector con la lista de códigos de paralelos almacenados en la base de datos
return lista_codigosFacturas;
}
//OK
//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 , d.cantidad_prod , d.precio_total_prod \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");
//6.2 Agregar al vector fila el dato del campo cantidad_prod de la consulta SQL
String Cantidad_Producto = tabla.getString("cantidad_prod");
//6.3 Agregar al vector fila el dato del campo precio_total_prod de la consulta SQL
String Precio_Producto = tabla.getString("precio_total_prod");
//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;
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Operaciones Crud en java netbeasn con mongodb

Publicado por Juanito Alimaña (6 intervenciones) el 24/05/2023 03:12:31
OPERACIONES CRUD BATERIA

//OK - PUNTO 1
public int obtenerCantPersonasAdmisiones() throws SQLException {
//1. Conectar a la base de datos
this.iniciarConexionBD();

//-------------------------------------------------------
//ESTUDIAR
//2. Variable para almacenar el total de personas registradas por adminisiones almacenadas en la base de datos.
int cant_personas = 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();

//-------------------------------------------------------
//ESTUDIAR
//4. Definir el texto String de la consulta SQL.
String sql = "select COUNT(*) as TOTAL_Personas" +
" from personas p";
//-------------------------------------------------------

//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:

//-------------------------------------------------------
//ESTUDIAR
while (tabla.next()) {
//6.1 En cada iteración, obtener y alamcenar el dato de la cantidad de carreras que arrojó la consulta SQL
cant_personas = tabla.getInt("total_personas");
}
//-------------------------------------------------------

//----------------------------------------------------------------------------------------------------------------------------------
//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 cant_personas;
}

//OK - PUNTO 2
public Vector<String> obtenerListadoCarreras() throws SQLException {
//1. Conectar a la base de datos
this.iniciarConexionBD();

//-------------------------------------------------------
//ESTUDIAR
//2. Crear el vector para almacenar la lista de nombres de carreras resultante de la consulta SQL a la base de datos.
Vector<String> listado_carreras = 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();

//-------------------------------------------------------
//ESTUDIAR
//4. Definir el texto String de la consulta SQL.
String sql = "select \n"
+ " c.nombre as nombre_carreras \n"
+ " from \n"
+ " carreras c";
//-------------------------------------------------------

//5. Ejecutar la consulta y amacenar en el objeto ResultSet
ResultSet tabla = stm.executeQuery(sql);

//-------------------------------------------------------
//ESTUDIAR
//6. Recorrer el objeto ResultSet mediante un while y para cada iteración resolver:
while (tabla.next()) {
//En cada iteración:
//6.1. Obtener el valor de columna de la fila actual del objeto ResultSet
String carreras = tabla.getString("nombre_carreras");
//6.2. Almacenar en el vector creado en el paso 2. el valor de columna de la fila actual del objeto ResultSet
listado_carreras.add(carreras);
}
//-------------------------------------------------------

//--------------------------------------------------------------------------------------------------------------------------------------------------
//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 listado_carreras;
}

//OK - PUNTO 3
public ArrayList<Vector<String>> obtenerEstudiantesInscritosCarrerasUBE(String p_nombre_carreraUBE) throws SQLException {
//1. Conectar a la base de datos
this.iniciarConexionBD();

//-------------------------------------------------------
//ESTUDIAR
//2. Crear la matriz de datos para almacenar la consulta SQL, cada fila es un Vector de String
ArrayList<Vector<String>> matriz_datos = 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();

//-------------------------------------------------------
//ESTUDIAR
//4. Definir el texto String de la consulta SQL.
String sql = "select i.estudiante_cedula as cedula, p.nombres as nombre, p.apellidos as apellido\n" +
" from inscipciones i\n" +
" join personas p on (i.estudiante_cedula = p.cedula)\n" +
" join carreras c on (i.CARRERA_CODIGO_CARR = c.codigo_carr)\n" +
" where c.nombre = '"+p_nombre_carreraUBE+"'";
//-------------------------------------------------------

//5. Ejecutar la consulta y amacenar en el objeto ResultSet
ResultSet tabla = stm.executeQuery(sql);

//-------------------------------------------------------
//ESTUDIAR
//6. Recorrer el objeto ResultSet mediante un while y para cada iteración resolver:
while (tabla.next()) {
String cedula = tabla.getString("cedula");
String nombre = tabla.getString("nombre");
String apellido = tabla.getString("apellido");
Vector<String> datosEstudiantes = new Vector();
datosEstudiantes.add(cedula);
datosEstudiantes.add(nombre);
datosEstudiantes.add(apellido);
matriz_datos.add(datosEstudiantes);
}
//-------------------------------------------------------

//--------------------------------------------------------------------------------------------------------------------------------------------------
//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 matriz_datos;
}
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Operaciones Crud en java netbeasn con mongodb

Publicado por Juanito Alimaña (6 intervenciones) el 24/05/2023 03:14:33
VENTANA PRINCIPAL JFRAME

//OK - PUNTO 1
private void jButton_MostrarTotalPersonasActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
//------- Implementar la lógica correspondiente (descomentar el código base con comentarios de párrafo /* */) -----------
OperacionesCRUD obj_BD = OperacionesCRUD.getInstance();
try {
int total_personas = obj_BD.obtenerCantPersonasAdmisiones();
String cadenaTotalPersonas = String.valueOf(total_personas);
total_personas_jTextField.setText(cadenaTotalPersonas);
} catch (SQLException err) {
System.out.println(err.getMessage());
}
//-----------------------------------------------------------------------------------
}

//OK - PUNTO 2
private void jButton_mostrarCarrerasUBEActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
//------- Implementar la lógica correspondiente (descomentar el código base con comentarios de párrafo /* */) ---------------------------
/*
//1. Obtener la instancia única objeto de la clase OperacionesCRUD*/
OperacionesCRUD obj_BD = OperacionesCRUD.getInstance();
try
{
//2. Obtener el vector lista de carreras del método que consulta a la BD y que implementa el objeto obj_BD (OperacionesCRUD)
Vector<String> listaCarreras = obj_BD.obtenerListadoCarreras();
//3. Crear el objeto DefaultTableModel del jTable_ListadoCarrerasUBE que debe mostrar el vector lista de carreras
DefaultTableModel modeloTableUBE = (DefaultTableModel) jTable_ListadoCarrerasUBE.getModel();
//4. Setear el componente jTable_ListadoCarrerasUBE, desde el objeto DefaultTableModel, con cero filas y cero columnas de datos a mostrar.
modeloTableUBE.setRowCount(0);
modeloTableUBE.setColumnCount(0);
//5. Agregar, desde el objeto DefaultTableModel, la columna de datos con cabecera "Nombres de Carreras" y vector lista de datos con los nombres de las carreras.
modeloTableUBE.addColumn("Listado de nombres de Carreras", listaCarreras);
}
catch(SQLException err)
{
err.printStackTrace();
}
//----------------------------------------------------------------------------------------------------------------------------------------
}

private void formComponentShown(java.awt.event.ComponentEvent evt) {
// TODO add your handling code here:
OperacionesCRUD obj_BD = OperacionesCRUD.getInstance();
DefaultComboBoxModel<String> recordList_Carr_Est = (DefaultComboBoxModel)jComboBox_Listado_CarrerasUBE.getModel();
recordList_Carr_Est.removeAllElements();
try
{
Vector<String> listado_carreras = obj_BD.obtenerListadoCarreras();
int cant_carreras = listado_carreras.size();
for (int fila = 0; fila < cant_carreras; fila++)
{
String nombre_carrera = listado_carreras.get(fila);
recordList_Carr_Est.addElement(nombre_carrera);
}
recordList_Carr_Est.setSelectedItem(listado_carreras.get(0));
}
catch(SQLException err)
{
err.printStackTrace();
}
}


//PUNTO 3
private void jButton_mostrarEstudiantesUBEActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
//------- Implementar la lógica correspondiente (descomentar el código base con comentarios de párrafo /* */) ---------------------------
/*
//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_Listado_CarrerasUBE de lista de universidades.
DefaultComboBoxModel modeloComboBox = (DefaultComboBoxModel) jComboBox_Listado_CarrerasUBE.getModel();
//3. Obtener la carrera seleccionado desde el combobox jComboBox_Listado_CarrerasUBE
String carreraSeleccionada = String.valueOf(modeloComboBox.getSelectedItem());
try
{
//4. Obtener la matriz de datos que devuelve el método que consulta a la BD y que implementa el objeto obj_BD (OperacionesCRUD)
ArrayList<Vector<String>> matrizDatosEstuds = obj_BD.obtenerEstudiantesInscritosCarrerasUBE(carreraSeleccionada);
//5. Crear el objeto DefaultTableModel del jTable que debe mostrar la matriz de datos de los estudiantes que alcanzaron cupos en una universidad en particular.
DefaultTableModel modeloTable = (DefaultTableModel) jTable_ListadoEstudiantesUBE.getModel();
//6. Setear, desde el objeto DefaultTableModel, el componente jTable_ListadoEstudiantesUBE con cero filas a mostrar.
modeloTable.setRowCount(0);
//7. Obtener la cantidad de filas que arroja la consulta a la base de datos almacenada en la matriz de datos.
//8. Recorrer cada fila de la matriz de datos de los estudiantes con cupos en una universidad en particular y para cada iteración resolver:
for (Vector<String> datosEstudiante : matrizDatosEstuds) {
//8.1 En cada iteración, agregar al jTable_ListadoEstudiantesUBE, desde el objeto DefaultTableModel, los datos de cada una de las filas que están almacenadas en la matriz de datos.
modeloTable.addRow(datosEstudiante);
}
}
catch(SQLException err)
{
err.printStackTrace();
}
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Operaciones Crud en java netbeasn con mongodb

Publicado por Juanito Alimaña (6 intervenciones) el 24/05/2023 03:27:37
INSCRIPCIONES ESTUDIANTES OPERACIONES CRUD

//inciso 1.
public int obtenerCantCarreras() throws SQLException //CONSULTA 1, PARTE 1.
{
//1. Conectar a la base de datos
this.iniciarConexionBD();
//2. Variable para almacenar el total de carreras almacenadas en la base de datos.
int total_carreras = 0;
//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 \n"
+ "count(*) as total_carreras \n"
+ "from \n"
+ "carreras c";
//5. Ejecutar la consulta y almacenar 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()) {
total_carreras = tabla.getInt("total_carreras");
}
//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 total_carreras;
}

//inciso 2.
public Vector<String> obtenerListadoCarreras() throws SQLException //CONSULTA 2
{
//1. Conectar a la base de datos
this.iniciarConexionBD();
//2. Crear el vector para almacenar la lista de nombres de carreras resultante de la consulta SQL a la base de datos.
Vector<String> listaNombresCarreras = new Vector<>();
//complete la lógica del bloque de código que resuelve:
//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 \n"
+ " c.nombre as nombre_carreras \n"
+ " from \n"
+ " carreras c";
//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()) {
String carrera = tabla.getString("nombre_carreras");
listaNombresCarreras.add(carrera);
}
//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 listaNombresCarreras;
}

//Inciso 3
public Vector<String> obtenerListaParalelosXCarrera(String p_nombre_carrera) throws SQLException {
//1. Conectar a la base de datos
this.iniciarConexionBD();
//2. Crear el vector para almacenar la lista de códgidos de paralelos resultante de la consulta SQL a la base de datos.
Vector<String> listaNombresParalelos = new Vector<>();
//complete la lógica del bloque de código que resuelve:
//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\n"
+ " p.nombre as nombre_paralelo\n"
+ " from\n"
+ " paralelos p\n"
+ " join\n"
+ " carreras c on(p.cod_carrera = c.cod_carrera)\n"
+ " where \n"
+ " c.nombre = '" + p_nombre_carrera + "'";

//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()) {
String paralelo = tabla.getString("nombre_paralelo");
listaNombresParalelos.add(paralelo);
}
//7. Cerrar la conexion a la base de datos
this.cerrarConexionBD();
//8. Retornar el objeto vector con la lista de códigos de paralelos almacenados en la base de datos
return listaNombresParalelos;
}

//Inciso 4
public ArrayList<Vector<String>> obtenerEstudInscritosPorCarrera(String p_nombre_carrera) throws SQLException {
//1. Conectar a la base de datos
this.iniciarConexionBD();
//2. Crear la matriz de datos para almacenar la consulta SQL, cada fila es un Vector de String
ArrayList<Vector<String>> matrizDatosEst = new ArrayList();
//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 \n"
+ " i.cedula as cedula_est, \n"
+ " e.nombres as nombre_est, \n"
+ " e.apellidos as apellido_est \n"
+ " from \n"
+ " inscripciones_estudiantes i\n"
+ " join \n"
+ " estudiantes e on(i.cedula = e.cedula) \n"
+ " join \n"
+ " carreras c on(i.cod_carrera = c.cod_carrera) \n"
+ " where \n"
+ " c.nombre = '" + p_nombre_carrera + "'";
//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()) {
String cedula_est = tabla.getString("cedula_est");
String nombre_est = tabla.getString("nombre_est");
String apellido_est = tabla.getString("apellido_est");
Vector<String> datosEstudiante = new Vector<>();
datosEstudiante.add(cedula_est);
datosEstudiante.add(nombre_est);
datosEstudiante.add(apellido_est);
matrizDatosEst.add(datosEstudiante);
}
//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 matrizDatosEst;
}

//Inciso 5
public ArrayList<Vector<String>> obtenerEstudInscritosPorParalelo(String p_nombre_paralelo) throws SQLException {
//1. Conectar a la base de datos
this.iniciarConexionBD();
//2. Crear la matriz de datos para almacenar la consulta SQL, cada fila es un Vector de String
ArrayList<Vector<String>> matrizDatosEst = new ArrayList();
//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 \n"
+ " i.cedula as cedula_est, \n"
+ " e.nombres as nombre_est, \n"
+ " e.apellidos as apellido_est \n"
+ " from \n"
+ " inscripciones_estudiantes i \n"
+ " join \n"
+ " estudiantes e on(i.cedula = e.cedula) \n"
+ " join \n"
+ " paralelos p on(i.cod_paralelo = p.cod_paralelo) \n"
+ " where \n"
+ " p.nombre = '" + p_nombre_paralelo + "'";
//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()) {
String cedula_est = tabla.getString("cedula_est");
String nombre_est = tabla.getString("nombre_est");
String apellido_est = tabla.getString("apellido_est");
Vector<String> datosEstudiante = new Vector<>();
datosEstudiante.add(cedula_est);
datosEstudiante.add(nombre_est);
datosEstudiante.add(apellido_est);
matrizDatosEst.add(datosEstudiante);
}
//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 matrizDatosEst;
}

//OK - LISTA GENERADA
public Vector<String> obtenerListaParalelos() throws SQLException {
//1. Conectar a la base de datos
this.iniciarConexionBD();
//2. Crear el vector para almacenar la lista de códgidos de paralelos resultante de la consulta SQL a la base de datos.
Vector<String> listaParalelos = new Vector<>();
//complete la lógica del bloque de código que resuelve:
//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 \n"
+ " p.nombre as paralelos \n"
+ " from \n"
+ " paralelos p";
//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()) {
String paralelo = tabla.getString("paralelos");
listaParalelos.add(paralelo);
}
//7. Cerrar la conexion a la base de datos
this.cerrarConexionBD();
//8. Retornar el objeto vector con la lista de códigos de paralelos almacenados en la base de datos
return listaParalelos;
}

}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Operaciones Crud en java netbeasn con mongodb

Publicado por Juanito Alimaña (6 intervenciones) el 24/05/2023 03:29:36
INSCRIPCIONES ESTUDIANTES VENTANA PRINCIPAL JFRAME

//PUNTO 1
private void jButton_mostrarTotalCarrerasActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
//1. Obtener la instancia única objeto de la clase OperacionesCRUD
OperacionesCRUD obj_BD = OperacionesCRUD.getInstanciaUnica();
try {
//2. Obtener la cantidad de carreras del método (obtenerCantCarreras) que consulta a la BD y que implementa el objeto obj_BD (OperacionesCRUD)
int total_carreras = obj_BD.obtenerCantCarreras();
String cadenaTotalCarreras = String.valueOf(total_carreras);
//3. Mostrar en el componente visual total_carreras_jTextField el valor de cantidad de carreras obtenido en el paso 2.
total_carreras_jTextField.setText(cadenaTotalCarreras);
} catch (SQLException err) {
System.out.println(err.getMessage());
}
}

//PUNTO 2
private void jButton_mostrarCarrerasActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
//1. Obtener la instancia única objeto de la clase OperacionesCRUD
OperacionesCRUD obj_BD = OperacionesCRUD.getInstanciaUnica();
try {
//2. Obtener el vector lista de carreras del método (obtenerListadoCarreras) que consulta a la BD y que implementa el objeto obj_BD (OperacionesCRUD)
Vector<String> listaCarreras = obj_BD.obtenerListadoCarreras();
//3. Crear el objeto DefaultTableModel del jTable_ListaCarreras que debe mostrar el vector lista de carreras
DefaultTableModel modeloTable = (DefaultTableModel) jTable_ListaCarreras.getModel();
//4. Setear el componente jTable_ListaCarreras con cero filas y columna de datos a mostrar.
modeloTable.setRowCount(0);
modeloTable.setColumnCount(0);
//5. Agregar la columna de datos con cabecera "Listado de Paralelos del ITB" y vector lista de datos.
modeloTable.addColumn("Listado de nombres de Carreras", listaCarreras);
} catch (SQLException err) {
err.printStackTrace();
}
}

private void formComponentShown(java.awt.event.ComponentEvent evt) {
// TODO add your handling code here:
OperacionesCRUD obj_BD = OperacionesCRUD.getInstanciaUnica();
DefaultComboBoxModel<String> recordList_Carr_Est = (DefaultComboBoxModel) jComboBox_Listado_Carreras_Est.getModel();
DefaultComboBoxModel<String> recordList_Carr_Paralelos = (DefaultComboBoxModel) jComboBox_Listado_Carreras_Paralelos.getModel();

recordList_Carr_Est.removeAllElements();
recordList_Carr_Paralelos.removeAllElements();

try {
Vector<String> listado_carreas = obj_BD.obtenerListadoCarreras();
int cant_carreras = listado_carreas.size();
for (int fila = 0; fila < cant_carreras; fila++) {
String nombre_carrera = listado_carreas.get(fila);
recordList_Carr_Est.addElement(nombre_carrera);
recordList_Carr_Paralelos.addElement(nombre_carrera);
}
recordList_Carr_Est.setSelectedItem(listado_carreas.get(0));
recordList_Carr_Paralelos.setSelectedItem(listado_carreas.get(0));
} catch (SQLException err) {
err.printStackTrace();
}

DefaultComboBoxModel<String> recordList_Paralelos_Est = (DefaultComboBoxModel) jComboBox_Listado_Paralelos_Est.getModel();
recordList_Paralelos_Est.removeAllElements();

try {
Vector<String> listado_paralelos_est = obj_BD.obtenerListaParalelos();
int cant_paralelos = listado_paralelos_est.size();
for (int fila = 0; fila < cant_paralelos; fila++) {
String codigo_paralelo = listado_paralelos_est.get(fila);
recordList_Paralelos_Est.addElement(codigo_paralelo);
}
recordList_Paralelos_Est.setSelectedItem(listado_paralelos_est.get(0));
} catch (SQLException err) {
err.printStackTrace();
}
}

//PUNTO 4
private void jButton_mostrarEstudiantesCarreraActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
//1. Obtener la instancia única objeto de la clase OperacionesCRUD
OperacionesCRUD obj_BD = OperacionesCRUD.getInstanciaUnica();
//2. Obtener la lista de valores del modelo del combobox de lista de carreras.
DefaultComboBoxModel modeloComboBox = (DefaultComboBoxModel) jComboBox_Listado_Carreras_Est.getModel();
//3. Obtener la carrera seleccionado desde el combobox jComboBox_Listado_Carreras_Est
String carreraSeleccionada = String.valueOf(modeloComboBox.getSelectedItem());

try {
//4. Obtener la matriz de datos que devuelve el método (obtenerEstudInscritosPorCarrera) que consulta a la BD y que implementa el objeto obj_BD (OperacionesCRUD)
ArrayList<Vector<String>> matrizDatosEstuds = obj_BD.obtenerEstudInscritosPorCarrera(carreraSeleccionada);
//5. Crear el objeto DefaultTableModel del jTable que debe mostrar la matriz de datos de los estudiantes que están inscritos en una carrera en particular
DefaultTableModel modeloTable = (DefaultTableModel) jTable_ListaEstudiantes.getModel();
//6. Setear el componente jTable_ListaEstudiantes con cero filas a mostrar.
modeloTable.setRowCount(0);
//8. Recorrer cada fila de la matriz de datos de los estudiantes inscritos en una carrera en particular y para cada iteración resolver:
for (Vector<String> datosEstudiante : matrizDatosEstuds) {
modeloTable.addRow(datosEstudiante);
}
} catch (SQLException err) {
err.printStackTrace();
}
}

//PUNTO 3
private void jButton_mostrarParalelosCarreraActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
//1. Obtener la instancia única objeto de la clase OperacionesCRUD
OperacionesCRUD obj_BD = OperacionesCRUD.getInstanciaUnica();
//2. Obtener la lista de valores del modelo del combobox de lista de carreras.
DefaultComboBoxModel modeloComboBox = (DefaultComboBoxModel) jComboBox_Listado_Carreras_Paralelos.getModel();
//3. Obtener la carrera seleccionada desde el combobox jComboBox_Listado_Carreras_Paralelos
String carrera = String.valueOf(modeloComboBox.getSelectedItem());
try {
//4. Obtener el vector lista de paralelos del método (obtenerListaParalelosCarrera) que consulta a la BD y que implementa el objeto obj_BD (OperacionesCRUD)
Vector<String> listaParalelos = obj_BD.obtenerListaParalelosXCarrera(carrera);
//5. Crear el objeto DefaultTableModel del jTable que debe mostrar el vector lista de paralelos
DefaultTableModel modeloTable = (DefaultTableModel) jTable_ListaParalelos.getModel();
//6. Setear el componente jTable_ListaParalelos con cero filas y columna de datos a mostrar.
modeloTable.setColumnCount(0);
modeloTable.setRowCount(0);
//7. Agregar la columna de datos con cabecera "Listado de Paralelos del ITB" y vector lista de datos "lista_paralelos".
modeloTable.addColumn("Lista de paralelos por Carrera", listaParalelos);
} catch (SQLException err) {
err.printStackTrace();
}
}

//PUNTO 5
private void jButton_mostrarEstudiantesParaleloActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
//1. Obtener la instancia única objeto de la clase OperacionesCRUD
OperacionesCRUD obj_BD = OperacionesCRUD.getInstanciaUnica();
//2. Obtener la lista de valores del modelo del combobox de lista de carreras.
DefaultComboBoxModel modeloComboBox = (DefaultComboBoxModel) jComboBox_Listado_Paralelos_Est.getModel();
//3. Obtener la carrera seleccionado desde el combobox jComboBox_Listado_Carreras_Est
String paralelo = String.valueOf(modeloComboBox.getSelectedItem());

try {
//4. Obtener la matriz de datos que devuelve el método (obtenerEstudInscritosPorCarrera) que consulta a la BD y que implementa el objeto obj_BD (OperacionesCRUD)
ArrayList<Vector<String>> matrizDatosEstuds = obj_BD.obtenerEstudInscritosPorParalelo(paralelo);
//5. Crear el objeto DefaultTableModel del jTable que debe mostrar la matriz de datos de los estudiantes que están inscritos en una carrera en particular
DefaultTableModel modeloTable = (DefaultTableModel) jTable_ListaEstudiantes.getModel();
//6. Setear el componente jTable_ListaEstudiantes con cero filas a mostrar.
modeloTable.setRowCount(0);
//8. Recorrer cada fila de la matriz de datos de los estudiantes inscritos en una carrera en particular y para cada iteración resolver:
for (Vector<String> datosEstudiante : matrizDatosEstuds) {
modeloTable.addRow(datosEstudiante);
}
} catch (SQLException err) {
err.printStackTrace();
}
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Operaciones Crud en java netbeasn con mongodb

Publicado por Juanito Alimaña (6 intervenciones) el 24/05/2023 03:41:10
REGISTROS_VENTAS_FACTURAS OPERACIONES CRUD

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

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

//OK
public Vector<String> obtenerCogidosFacturas() throws SQLException {
//1. Conectar a la base de datos
this.iniciarConexionBD();
//2. Crear el vector para almacenar la lista de códigos de facturas resultante de la consulta SQL a la base de datos.
Vector<String> lista_codigosFacturas = new Vector<>();
//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 f.codigo as cogido_factura from facturas f";
//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. Obtener el valor de codigo de factura de la fila actual del objeto ResultSet
String codigoFactura = tabla.getString("cogido_factura");
//6.2. Almacenar en el vector creado en el paso 2. el valor de codigo de factura de la fila actual del objeto ResultSet
lista_codigosFacturas.add(codigoFactura);
}
//7. Cerrar la conexion a la base de datos
this.cerrarConexionBD();
//8. Retornar el objeto vector con la lista de códigos de paralelos almacenados en la base de datos
return lista_codigosFacturas;
}

//OK
//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;
}
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Operaciones Crud en java netbeasn con mongodb

Publicado por Juanito Alimaña (6 intervenciones) el 24/05/2023 03:43:17
REGISTROS_VENTAS_FACTURAS VENTANA PRINCIPAL JFRAME

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());
}
//-----------------------------------------------------------------------------------
}
//OK
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();
}

//----------------------------------------------------------------------------------------------------------------------------------------
}

private void formComponentShown(java.awt.event.ComponentEvent evt) {
// TODO add your handling code here:
OperacionesCRUD obj_BD = OperacionesCRUD.getInstance();
DefaultComboBoxModel<String> recordList_Carr_Est = (DefaultComboBoxModel) jComboBox_listadoCodigosFacturas.getModel();
recordList_Carr_Est.removeAllElements();
try {
Vector<String> listado_codigosFacturas = obj_BD.obtenerCogidosFacturas();
int cant_carreras = listado_codigosFacturas.size();
for (int fila = 0; fila < cant_carreras; fila++) {
String nombre_carrera = listado_codigosFacturas.get(fila);
recordList_Carr_Est.addElement(nombre_carrera);
}
recordList_Carr_Est.setSelectedItem(listado_codigosFacturas.get(0));
} catch (SQLException err) {
err.printStackTrace();
}
}

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();
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar