Skip to content

Instantly share code, notes, and snippets.

@MarioCares
Last active November 26, 2024 01:13
Show Gist options
  • Save MarioCares/a26ec9c9b429c5740a9184cf985d8cc2 to your computer and use it in GitHub Desktop.
Save MarioCares/a26ec9c9b429c5740a9184cf985d8cc2 to your computer and use it in GitHub Desktop.
CREATE TABLE areas (
id INTEGER PRIMARY KEY,
descripcion VARCHAR(50)
);
CREATE TABLE previsiones (
id INTEGER PRIMARY KEY,
descripcion VARCHAR(50)
);
CREATE TABLE trabajador (
id INTEGER PRIMARY KEY,
nombre VARCHAR(50) NOT NULL,
paterno VARCHAR(50) NOT NULL,
materno VARCHAR(50) NOT NULL,
edad INTEGER NOT NULL,
area_id INTEGER NOT NULL,
prevision_id INTEGER NOT NULL,
FOREIGN KEY (area_id) REFERENCES areas(id),
FOREIGN KEY (prevision_id) REFERENCES previsiones(id)
);
// ENVIAR A mario.cares.c@outlook.com
INSERT INTO areas VALUES (1, 'Ventas');
INSERT INTO areas VALUES (2, 'Contabilidad');
INSERT INTO areas VALUES (3, 'Administración');
INSERT INTO previsiones VALUES (1, 'Capital');
INSERT INTO previsiones VALUES (2, 'Cuprum');
INSERT INTO previsiones VALUES (3, 'Habitat');
INSERT INTO trabajador VALUES (1, 'Pedro', 'Pérez', 'Pereira', 30, 2, 1);
INSERT INTO trabajador VALUES (2, 'Ana', 'Salas', 'Ponce', 32, 3, 3);
@MarioCares
Copy link
Author

  1. Necesita crear una ventana para ingresar datos de trabajadores.
  2. La ventana debe tener jTextField y jComboBox donde corresponda, para guardar los datos del trabajador. También un jTable para mostrar los datos del trabajador una vez sean guardados/actualizados/eliminados.
  3. Los jComboBox deben llenarse al abrir la ventana principal. Los datos son los que fueron importados al momento de crear las tablas.
  4. La grilla (jTable) también debe llenarse al momento de abrir la ventana.
  5. Para las columnas área y previsión (en la tabla), debe obtener la "descripción" de la tupla, no el id.
  6. La ventana debe contar con 3 botones: Guardar, Actualizar y Eliminar. Estos botones realizarán dichas acciones en la BD con los datos ingresados en la ventana.
  7. Cada vez que se realice un movimiento de datos, debe actualizar la grilla.
  8. Al seleccionar una fila en la grilla, debe llevar dichos datos a los jTextField.
  9. Cuando actualice un usuario, las llaves foráneas no se actualizarán.
  10. Debe validar cada tipo de dato. No puede ingresar "letras" en un campo de números, ni números en un campo de letras.
  11. Para notificar al usuario de errores o éxitos, debe mostrar un mensaje de tipo: JOptionPane.showMessageDialog. Diferenciar entre los "errores" y los "éxitos"

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment