Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- * 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 conexionbd;
- import java.sql.*;
- import java.util.Scanner;
- /**
- *
- * @author alumno
- */
- public class Gestion {
- Conexion miBD;
- public Gestion(){
- miBD = new Conexion();
- }
- public void menu(){
- int opcion;
- String user = pedirUsuario();
- String password = pedirContrasenia();
- if(iniciarSesion(user, password)){
- do{
- opcion = mostrarMenu();
- switch(opcion){
- case 1:
- conectar(user, password);
- mostrarDepartamentos();
- desconectar();
- break;
- case 2:
- conectar(user, password);
- mostrarEmpleados();
- desconectar();
- break;
- case 3:
- conectar(user, password);
- mostrarOficios();
- desconectar();
- break;
- case 4:
- conectar(user, password);
- mostrarEmpleadosFiltrados();
- desconectar();
- case 5:
- conectar(user, password);
- pedirDatosInsertarDepartamento();
- desconectar();
- case 6:
- conectar(user, password);
- pedirDatosModificarNombreDepartamento();
- desconectar();
- case 7:
- conectar(user, password);
- pedirDatosEliminarDepartamento();
- desconectar();
- case 8:
- conectar(user, password);
- pedirDatosNumeroEmpleadosDepartamento();
- desconectar();
- }
- }while(opcion != 0);
- }
- else
- System.out.println("Intentos agotados. Se cerrará el programa.");
- }
- public int mostrarMenu(){
- System.out.println("\n\n");
- Scanner leer = new Scanner(System.in);
- System.out.println("+++ PROGRAMA CONEXIÓN A BASE DE DATOS +++");
- System.out.println("1. Mostrar todos los departamentos");
- System.out.println("2. Mostrar apellidos, oficio, departamento y salario de todos los empleados.");
- System.out.println("3. Mostrar los oficios diferentes de los empleados.");
- System.out.println("4. Filtrar la consulta 2 por oficio o departamento");
- System.out.println("5. Insertar un departamento nuevo");
- System.out.println("6. Modificar el nombre de un departamento");
- System.out.println("7. Eliminar un departamento");
- System.out.println("8. Número de empleados de un departamento");
- System.out.println("----------------------------------------------------------------------------");
- System.out.println("0. SALIR");
- System.out.print("Introducir opción --> ");
- int opcion = leer.nextInt();
- return opcion;
- }
- //método que controla el número de intentos de inicio de sesión
- private boolean iniciarSesion(String user, String password){
- int intentosPermitidos = 2; //se inicia a 2 porque el primer intento se hace en el método menu()
- boolean salida = false;
- do{
- if(!miBD.conexionCorrecta(user, password)){
- //System.out.println("Usuario o contraseña incorrectos.");//No hace falta porque salta el mensaje del catch del método abrirConexion
- intentosPermitidos--;
- System.out.println("Quedan "+(intentosPermitidos+1)+" intentos.");
- user = pedirUsuario();
- password = pedirContrasenia();
- }
- else{
- System.out.println("Conexión establecida.");
- intentosPermitidos = 0;
- salida = true;
- }
- }while(intentosPermitidos > 0);
- return salida;
- }
- //método que pide el nombre de usuario y lo devuelve
- private String pedirUsuario(){
- Scanner leer = new Scanner(System.in);
- String usuario;
- System.out.print("Introducir usuario: ");
- usuario = leer.nextLine();
- return usuario;
- }
- //método que pide la contraseña y la devuelve
- private String pedirContrasenia(){
- Scanner leer = new Scanner(System.in);
- String password;
- System.out.print("Introducir contraseña: ");
- password = leer.nextLine();
- return password;
- }
- private void conectar(String user, String password){
- miBD.abrirConexion(user, password);
- }
- private void desconectar(){
- miBD.cerrarConexion();
- }
- public void mostrarDepartamentos(){
- System.out.println(miBD.getDepartamentos());
- }
- public void mostrarEmpleados(){
- System.out.println(miBD.getEmpleados());
- }
- public void mostrarOficios(){
- System.out.println(miBD.getOficios());
- }
- public void mostrarEmpleadosFiltrados(){
- int tipoFiltro;
- String filtro;
- Scanner leer = new Scanner(System.in);
- System.out.print("Introducir 1 para filtrar por oficios, 2 para filtrar por departamentos");
- tipoFiltro = leer.nextInt();
- leer.next();
- if(tipoFiltro == 1)
- System.out.print("Introducir nombre de oficio: ");
- else if(tipoFiltro == 2)
- System.out.print("Introducir nombre de departamento: ");
- filtro = leer.nextLine();
- System.out.println(miBD.getEmpleados(tipoFiltro, filtro));
- }
- public void pedirDatosInsertarDepartamento(){
- int cod;
- String nombre;
- String ciudad;
- Scanner leer = new Scanner(System.in);
- System.out.print("Introducir codigo del departamento: ");
- cod = leer.nextInt();
- leer.next();
- System.out.print("Introducir nombre del departamento: ");
- nombre = leer.nextLine();
- System.out.println("Introducir ciudad del departamento: ");
- ciudad = leer.nextLine();
- System.out.println(miBD.insertarDepartamento(cod, nombre, ciudad));
- }
- public void pedirDatosModificarNombreDepartamento(){
- String nuevo;
- String viejo;
- Scanner leer = new Scanner(System.in);
- System.out.print("Introducir nombre del departamento a modificar: ");
- viejo = leer.nextLine();
- System.out.print("Introducir el nuevo nombre de departamento: ");
- nuevo = leer.nextLine();
- System.out.println(miBD.modificarNombreDepartamento(viejo, nuevo));
- }
- public void pedirDatosEliminarDepartamento(){
- String nombre;
- Scanner leer = new Scanner(System.in);
- System.out.print("Introducir nombre del departamento a eliminar: ");
- nombre = leer.nextLine();
- System.out.println(miBD.eliminarDepartamento(nombre));
- }
- public void pedirDatosNumeroEmpleadosDepartamento(){
- String nombre;
- Scanner leer = new Scanner(System.in);
- System.out.print("Introducir nombre del departamento del que se quieren contar los empleados: ");
- nombre = leer.nextLine();
- System.out.println(miBD.numeroEmpleadosDepartamento(nombre));
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement