/*
 * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
 * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
 */
package aa;

import Practica.Ejercicio4.Examen.*;
import Practica.Ejercicio3.Examen.*;
import Practica.Ejercicio2.Examen.*;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Date;
import java.util.Scanner;

/**
 *
 * @author mario
 */
public class Ejercicio4 {

    public static void main(String[] args) {
        /*
        Crea un programa que permita modificar el puesto de un empleado y aumentar su edad en un número determinado de años. 
        Se pedirá por teclado el número del empleado, el nuevo puesto y cuántos años se deben sumar a su edad.
         */
        try {

            String url = "jdbc:mysql://localhost/empresa";
            String user = "root";
            String password = "";

            Connection con = DriverManager.getConnection(url, user, password);

            //Consulta que queremos obtener: //Los datos de una oficina
            String sql = "UPDATE empleados SET puesto = ?, edad=(SELECT edad FROM empleados WHERE numemp=?)+? WHERE numemp=?";

            PreparedStatement pst = con.prepareStatement(sql);

            //Solicitud de los datos por teclado.
            Scanner sc = new Scanner(System.in);

            System.out.println("Introduce el Num. Empleado");
            int numEmpleado = sc.nextInt();

            sc.nextLine();
            
            System.out.println("Introduce el Nuevo Puesto");
            String nuevoPuesto= sc.nextLine();

            System.out.println("Introduce la suma de edad");
            int sumaEdad = sc.nextInt();


            //Anexionar o parametrizar los valores
            pst.setString(1, nuevoPuesto);
            pst.setInt(2, numEmpleado);
            pst.setInt(3, sumaEdad);
            pst.setDouble(4, numEmpleado);

            //TO-DO: Diferencia entre PREPAREDSTATEMNT y STATEMENT
            //ResulSet ¿?
            int filas = pst.executeUpdate();

            con.close();
        } catch (SQLException ex) {
            ex.printStackTrace();
        }
    }
}
