Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 24

Facultad de Ingeniería.

Ingeniería de Sistemas de Información.


Ingeniería de Software.

Programación orientada de objetos

                                         Docente: Danny Montoya

Integrantes:                                                                             

 Santiago Mijael Ramos Beraún


 Airton Chumioque Reque 
 William Dennys Rivera Tito
 Enzo Mathias Rodriguez Aparicio
 Diego Ruesta Andrade

2022 – 02
Facultad de Ingeniería.
Ingeniería de Sistemas de Información.
Ingeniería de Software.

Tarea 11
Instrucciones :
Estimados estudiantes, crear un proyecto en NetBeans, i mplementar una solución modelo
y vistas, pegar la captura de pantallas de la prueba de ejecución en este Word, también
comprimir el proyecto y subir ambos archivos a la plataforma Canvas.

EJERCICIO 01: Elaborar un mantenimiento completo a una tabla de su proyecto


final.

1)Tabla de Recetas:

Conexión:

package conexion;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.SQLException;

import javax.swing.JOptionPane;

public class Cls_Conexion {

private static final String DRIVER = "com.mysql.jdbc.Driver";

private static final String USER = "root";

private static final String PASSWORD = "123";

private static final String URL = "jdbc:mysql://localhost:3306/tienda?


autoReconnect=true&useSSL=false";

private Connection CN;

public Cls_Conexion(){
Facultad de Ingeniería.
Ingeniería de Sistemas de Información.
Ingeniería de Software.
CN = null;

public Connection getConnection(){

try {

Class.forName(DRIVER);

CN=DriverManager.getConnection(URL,USER,PASSWORD);

} catch (ClassNotFoundException | SQLException ex) {

JOptionPane.showMessageDialog(null, ex.getMessage(), "Error al conectar con la base de


datos", JOptionPane.ERROR_MESSAGE);

System.exit(0);

return CN;

public void close(){

try {

CN.close();

} catch (SQLException ex) {

JOptionPane.showMessageDialog(null, ex.getMessage(),"Error al cerrar la conexion con la


base de datos", JOptionPane.ERROR_MESSAGE);

Recetas:

package logica;

import java.sql.ResultSet;

import conexion.Cls_Conexion;

import java.sql.PreparedStatement;
Facultad de Ingeniería.
Ingeniería de Sistemas de Información.
Ingeniería de Software.
import javax.swing.JOptionPane;

import javax.swing.table.DefaultTableColumnModel;

import javax.swing.table.DefaultTableModel;

public class Cls_Recetas {

private final String SQL_INSERT = "INSERT INTO Recetas


(pro_descripcion,pro_categoria,pro_tipodeplato,pro_precio,pro_region) values(?,?,?,?,?,?)";

private final String SQL_SELECT = "SELECT * FROM productos";

private PreparedStatement PS;

private DefaultTableModel DT;

private ResultSet RS;

private final Cls_Conexion CN;

public Cls_Productos(){

PS=null;

CN= new Cls_Conexion();

private DefaultTableModel setTitulos(){

DT=new DefaultTableModel();

DT.addColumn("Id");

DT.addColumn("Descripcion");

DT.addColumn("Categoria");

DT.addColumn("Tipodeplato");

DT.addColumn("Precio");

DT.addColumn("Region");

return DT;

}
Facultad de Ingeniería.
Ingeniería de Sistemas de Información.
Ingeniería de Software.
public int insertDatos(String des, String cat, int can,float cos,float pre,String est){

int res = 0;

try {

PS=CN.getConnection().prepareStatement(SQL_INSERT);

PS.setString(1, des);

PS.setString(2, cat);

PS.setInt(3,tip);

PS.setFloat(4, pre);

PS.setFloat(5, reg);

res=PS.executeUpdate();

if(res>0){

JOptionPane.showMessageDialog(null, "Registro Guardado");

} catch (Exception e) {

System.err.println("Error al guardar los datos en la db: "+e.getMessage());

} finally{

PS=null;

CN.close();

return res;

public int updatetDatos(String id,String des, String cat, String tip,float pre,String reg){

String SQL = "UPDATE productos SET


pro_descripcion='"+des+"',pro_categoria='"+cat+"',pro_tipodeplato='"+tip+"',"

+"pro_precio='"+pre+"',pro_precio='"+pre+"',pro_region='"+reg+"'WHERE pro_id="+id;

int res = 0;

try {

PS=CN.getConnection().prepareStatement(SQL);

res=PS.executeUpdate();

if(res>0){

JOptionPane.showMessageDialog(null, "Registro Modificado");

} catch (Exception e) {
Facultad de Ingeniería.
Ingeniería de Sistemas de Información.
Ingeniería de Software.
System.err.println("Error al modificar los datos en la db: "+e.getMessage());

} finally{

PS=null;

CN.close();

return res;

public int deleteDatos(String id){

String SQL = "DELETE FROM productos WHERE pro_id="+id;

int res = 0;

try {

PS=CN.getConnection().prepareStatement(SQL);

res=PS.executeUpdate();

if(res>0){

JOptionPane.showMessageDialog(null, "Registro Eliminado");

} catch (Exception e) {

System.err.println("Error al eliminar los datos en la db: "+e.getMessage());

} finally{

PS=null;

CN.close();

return res;

public DefaultTableModel getDatos(){

try {

setTitulos();

PS=CN.getConnection().prepareStatement(SQL_SELECT);

RS=PS.executeQuery();

Object[] fila=new Object[7];


Facultad de Ingeniería.
Ingeniería de Sistemas de Información.
Ingeniería de Software.
while(RS.next()){

fila[0]=RS.getInt(1);

fila[1]=RS.getString(2);

fila[2]=RS.getString(3);

fila[3]=RS.getInt(4);

fila[4]=RS.getFloat(5);

fila[5]=RS.getString(6);

DT.addRow(fila);

} catch (Exception e) {

System.out.println("Error al listar los datos: "+e.getMessage());

} finally{

PS=null;

RS=null;

CN.close();

return DT;

public DefaultTableModel getDato(int crt, String prm){

String SQL;

if(crt==0){

SQL="SELECT*FROM productos WHERE pro_id = "+prm;

} else{

SQL="SELECT*FROM productos WHERE pro_descripcion like '"+prm +"%'";

try {

setTitulos();

PS=CN.getConnection().prepareStatement(SQL);

RS=PS.executeQuery();

Object[] fila=new Object[7];

while(RS.next()){

fila[0]=RS.getInt(1);
Facultad de Ingeniería.
Ingeniería de Sistemas de Información.
Ingeniería de Software.
fila[1]=RS.getString(2);

fila[2]=RS.getString(3);

fila[3]=RS.getInt(4);

fila[4]=RS.getFloat(5);

fila[5]=RS.getString(6);

DT.addRow(fila);

} catch (Exception e) {

System.out.println("Error al listar los datos: "+e.getMessage());

} finally{

PS=null;

RS=null;

CN.close();

return DT;

Main:

package tienda;

import formularios.Frm_Recetas;

public class Cls_Main {

public static void main(String[] args){

Frm_Recetas FP=new Frm_Recetas();

FP.setVisible(true);

}
Facultad de Ingeniería.
Ingeniería de Sistemas de Información.
Ingeniería de Software.
}

FrmRecetas:

package formularios;

import java.awt.event.KeyEvent;

import javax.swing.JOptionPane;

import logica.Cls_Productos;

public class Frm_Productos extends javax.swing.JFrame {

private final Cls_Productos CP;

int num=0;

public Frm_Recetas() {

initComponents();

CP=new Cls_Recetas();

listar();

this.setLocationRelativeTo(null);

private void listar(){

jtb_datos.setModel(CP.getDatos());

private void limpiar(){

jtf_id.setText("");

jtf_descripcion.setText("");

jtf_cantidad.setText("");
Facultad de Ingeniería.
Ingeniería de Sistemas de Información.
Ingeniería de Software.
jtf_precio.setText("");

jtf_descripcion.requestFocus();

private void guardar(){

String id= jtf_id.getText();

String des=jtf_descripcion.getText();

String cat=jcb_categoria.getSelectedItem().toString();

float pre=Float.parseFloat(jtf_precio.getText());

String reg;

if(chb_estado.isSelected()){

est="S";

} else {

est="N";

if(num==0){

int respuesta = CP.insertDatos(des, cat,pre,reg, );

if(respuesta>0){

listar();

limpiar();

} else{

int respuesta = CP.updatetDatos(id,des, cat,pre,reg,);

if(respuesta>0){

listar();

limpiar();

num=0;

}
Facultad de Ingeniería.
Ingeniería de Sistemas de Información.
Ingeniería de Software.
private void jbt_guardarActionPerformed(java.awt.event.ActionEvent evt) {

guardar();

private void jtf_buscarKeyReleased(java.awt.event.KeyEvent evt) {

char tecla=evt.getKeyChar();

if(tecla==KeyEvent.VK_ENTER){

jtb_datos.setModel(CP.getDato(jcb_buscar.getSelectedIndex(), jtf_buscar.getText()));

private void jtb_datosMouseClicked(java.awt.event.MouseEvent evt) {

int row=jtb_datos.getSelectedRow();

jtf_id.setText(jtb_datos.getValueAt(row, 0).toString());

jtf_descripcion.setText(jtb_datos.getValueAt(row, 1).toString());

jcb_categoria.setSelectedItem(jtb_datos.getValueAt(row, 2).toString());

jtf_cantidad.setText(jtb_datos.getValueAt(row, 3).toString());

jtf_costo.setText(jtb_datos.getValueAt(row, 4).toString());

jtf_precio.setText(jtb_datos.getValueAt(row, 5).toString());

String est = jtb_datos.getValueAt(row, 6).toString();

if(est.equals("S")){

chb_estado.setSelected(true);

} else{

chb_estado.setSelected(false);

num=1;

}
Facultad de Ingeniería.
Ingeniería de Sistemas de Información.
Ingeniería de Software.
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {

guardar();

private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {

limpiar();

private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {

int fila=jtb_datos.getSelectedRowCount();

if(fila<1){

JOptionPane.showMessageDialog(null, "Seleccione un registro de la tabla");

} else{

if(CP.deleteDatos(jtb_datos.getValueAt(jtb_datos.getSelectedRow(), 0).toString())>0){

limpiar();

listar();}

}
Facultad de Ingeniería.
Ingeniería de Sistemas de Información.
Ingeniería de Software.

EJERCICIO 02: Elaborar un mantenimiento completo a una segunda tabla de su


proyecto final.

1)Tabla de Nombre de recetas:

Conexión:

package conexion;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.SQLException;

import javax.swing.JOptionPane;

public class Cls_Conexion {

private static final String DRIVER = "com.mysql.jdbc.Driver";

private static final String USER = "root";

private static final String PASSWORD = "123";

private static final String URL = "jdbc:mysql://localhost:3306/tienda?


autoReconnect=true&useSSL=false";

private Connection CN;

public Cls_Conexion(){

CN = null;

public Connection getConnection(){

try {

Class.forName(DRIVER);

CN=DriverManager.getConnection(URL,USER,PASSWORD);

} catch (ClassNotFoundException | SQLException ex) {


Facultad de Ingeniería.
Ingeniería de Sistemas de Información.
Ingeniería de Software.
JOptionPane.showMessageDialog(null, ex.getMessage(), "Error al conectar con la base de
datos", JOptionPane.ERROR_MESSAGE);

System.exit(0);

return CN;

public void close(){

try {

CN.close();

} catch (SQLException ex) {

JOptionPane.showMessageDialog(null, ex.getMessage(),"Error al cerrar la conexion con la


base de datos", JOptionPane.ERROR_MESSAGE);

Recetas:

package logica;

import java.sql.ResultSet;

import conexion.Cls_Conexion;

import java.sql.PreparedStatement;

import javax.swing.JOptionPane;

import javax.swing.table.DefaultTableColumnModel;

import javax.swing.table.DefaultTableModel;

public class Cls_Recetas {


Facultad de Ingeniería.
Ingeniería de Sistemas de Información.
Ingeniería de Software.

private final String SQL_INSERT = "INSERT INTO Recetas


(pro_descripcion,pro_categoria,pro_tipodeplato,pro_precio,pro_region) values(?,?,?,?,?,?)";

private final String SQL_SELECT = "SELECT * FROM productos";

private PreparedStatement PS;

private DefaultTableModel DT;

private ResultSet RS;

private final Cls_Conexion CN;

public Cls_Productos(){

PS=null;

CN= new Cls_Conexion();

private DefaultTableModel setTitulos(){

DT=new DefaultTableModel();

DT.addColumn("Id");

DT.addColumn("Descripcion");

DT.addColumn("Categoria");

DT.addColumn("Tipodeplato");

DT.addColumn("Precio");

DT.addColumn("Region");

return DT;

public int insertDatos(String des, String cat, int can,float cos,float pre,String est){

int res = 0;

try {

PS=CN.getConnection().prepareStatement(SQL_INSERT);

PS.setString(1, des);

PS.setString(2, cat);

PS.setInt(3,tip);

PS.setFloat(4, pre);
Facultad de Ingeniería.
Ingeniería de Sistemas de Información.
Ingeniería de Software.
PS.setFloat(5, reg);

res=PS.executeUpdate();

if(res>0){

JOptionPane.showMessageDialog(null, "Registro Guardado");

} catch (Exception e) {

System.err.println("Error al guardar los datos en la db: "+e.getMessage());

} finally{

PS=null;

CN.close();

return res;

public int updatetDatos(String id,String des, String cat, String tip,float pre,String reg){

String SQL = "UPDATE productos SET


pro_descripcion='"+des+"',pro_categoria='"+cat+"',pro_tipodeplato='"+tip+"',"

+"pro_precio='"+pre+"',pro_precio='"+pre+"',pro_region='"+reg+"'WHERE pro_id="+id;

int res = 0;

try {

PS=CN.getConnection().prepareStatement(SQL);

res=PS.executeUpdate();

if(res>0){

JOptionPane.showMessageDialog(null, "Registro Modificado");

} catch (Exception e) {

System.err.println("Error al modificar los datos en la db: "+e.getMessage());

} finally{

PS=null;

CN.close();

return res;

}
Facultad de Ingeniería.
Ingeniería de Sistemas de Información.
Ingeniería de Software.

public int deleteDatos(String id){

String SQL = "DELETE FROM productos WHERE pro_id="+id;

int res = 0;

try {

PS=CN.getConnection().prepareStatement(SQL);

res=PS.executeUpdate();

if(res>0){

JOptionPane.showMessageDialog(null, "Registro Eliminado");

} catch (Exception e) {

System.err.println("Error al eliminar los datos en la db: "+e.getMessage());

} finally{

PS=null;

CN.close();

return res;

public DefaultTableModel getDatos(){

try {

setTitulos();

PS=CN.getConnection().prepareStatement(SQL_SELECT);

RS=PS.executeQuery();

Object[] fila=new Object[7];

while(RS.next()){

fila[0]=RS.getInt(1);

fila[1]=RS.getString(2);

fila[2]=RS.getString(3);

fila[3]=RS.getInt(4);

fila[4]=RS.getFloat(5);

fila[5]=RS.getString(6);

DT.addRow(fila);
Facultad de Ingeniería.
Ingeniería de Sistemas de Información.
Ingeniería de Software.
}

} catch (Exception e) {

System.out.println("Error al listar los datos: "+e.getMessage());

} finally{

PS=null;

RS=null;

CN.close();

return DT;

public DefaultTableModel getDato(int crt, String prm){

String SQL;

if(crt==0){

SQL="SELECT*FROM productos WHERE pro_id = "+prm;

} else{

SQL="SELECT*FROM productos WHERE pro_descripcion like '"+prm +"%'";

try {

setTitulos();

PS=CN.getConnection().prepareStatement(SQL);

RS=PS.executeQuery();

Object[] fila=new Object[7];

while(RS.next()){

fila[0]=RS.getInt(1);

fila[1]=RS.getString(2);

fila[2]=RS.getString(3);

fila[3]=RS.getInt(4);

fila[4]=RS.getFloat(5);

fila[5]=RS.getString(6);

DT.addRow(fila);

} catch (Exception e) {
Facultad de Ingeniería.
Ingeniería de Sistemas de Información.
Ingeniería de Software.
System.out.println("Error al listar los datos: "+e.getMessage());

} finally{

PS=null;

RS=null;

CN.close();

return DT;

Main:

package tienda;

import formularios.Frm_Recetas;

public class Cls_Main {

public static void main(String[] args){

Frm_Recetas FP=new Frm_Recetas();

FP.setVisible(true);

FrmRecetas:
Facultad de Ingeniería.
Ingeniería de Sistemas de Información.
Ingeniería de Software.
package formularios;

import java.awt.event.KeyEvent;

import javax.swing.JOptionPane;

import logica.Cls_Productos;

public class Frm_Productos extends javax.swing.JFrame {

private final Cls_Productos CP;

int num=0;

public Frm_Recetas() {

initComponents();

CP=new Cls_Recetas();

listar();

this.setLocationRelativeTo(null);

private void listar(){

jtb_datos.setModel(CP.getDatos());

private void limpiar(){

jtf_id.setText("");

jtf_descripcion.setText("");

jtf_cantidad.setText("");

jtf_precio.setText("");

jtf_descripcion.requestFocus();

private void guardar(){

String id= jtf_id.getText();

String des=jtf_descripcion.getText();

String cat=jcb_categoria.getSelectedItem().toString();
Facultad de Ingeniería.
Ingeniería de Sistemas de Información.
Ingeniería de Software.
float pre=Float.parseFloat(jtf_precio.getText());

String reg;

if(chb_estado.isSelected()){

est="S";

} else {

est="N";

if(num==0){

int respuesta = CP.insertDatos(des, cat,pre,reg, );

if(respuesta>0){

listar();

limpiar();

} else{

int respuesta = CP.updatetDatos(id,des, cat,pre,reg,);

if(respuesta>0){

listar();

limpiar();

num=0;

private void jbt_guardarActionPerformed(java.awt.event.ActionEvent evt) {

guardar();

private void jtf_buscarKeyReleased(java.awt.event.KeyEvent evt) {


Facultad de Ingeniería.
Ingeniería de Sistemas de Información.
Ingeniería de Software.
char tecla=evt.getKeyChar();

if(tecla==KeyEvent.VK_ENTER){

jtb_datos.setModel(CP.getDato(jcb_buscar.getSelectedIndex(), jtf_buscar.getText()));

private void jtb_datosMouseClicked(java.awt.event.MouseEvent evt) {

int row=jtb_datos.getSelectedRow();

jtf_id.setText(jtb_datos.getValueAt(row, 0).toString());

jtf_descripcion.setText(jtb_datos.getValueAt(row, 1).toString());

jcb_categoria.setSelectedItem(jtb_datos.getValueAt(row, 2).toString());

jtf_cantidad.setText(jtb_datos.getValueAt(row, 3).toString());

jtf_costo.setText(jtb_datos.getValueAt(row, 4).toString());

jtf_precio.setText(jtb_datos.getValueAt(row, 5).toString());

String est = jtb_datos.getValueAt(row, 6).toString();

if(est.equals("S")){

chb_estado.setSelected(true);

} else{

chb_estado.setSelected(false);

num=1;

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {

guardar();

private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {


Facultad de Ingeniería.
Ingeniería de Sistemas de Información.
Ingeniería de Software.
limpiar();

private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {

int fila=jtb_datos.getSelectedRowCount();

if(fila<1){

JOptionPane.showMessageDialog(null, "Seleccione un registro de la tabla");

} else{

if(CP.deleteDatos(jtb_datos.getValueAt(jtb_datos.getSelectedRow(), 0).toString())>0){

limpiar();

listar();}

}
Facultad de Ingeniería.
Ingeniería Informática y de Sistemas
Ingeniería de Software.

RÚBRICA DE CALIFICACIÓN

Actividad
Excelente Regular Deficiente
Programó Programó con No programó lo
correctamente la algunos errores solicitado
capa de modelo y la capa de modelo/
Ejercicio 01 vista del ejercicio. vista.

10 Puntos 5 Puntos 0 Puntos


Programó Programó con No programó lo
correctamente la algunos errores solicitado
capa de modelo y capa de modelo/
Ejercicio 02 la vista del vista.
ejercicio.
10 Puntos 5 Puntos 0 Puntos

Curso: Programación Orientada a Objetos


Docente: Dany Montoya Negrillo

También podría gustarte