You are on page 1of 4

package multabd; import import import import java.text.ParseException; java.text.SimpleDateFormat; java.sql.*; java.util.

Scanner;

public class MultaBD{ public static void main(String[] args) throws ParseException { int opc; do{ System.out.println("Elija una Opcin: "); System.out.println("1.- Nueva Multa."); System.out.println("2.- Cambiar Multa."); System.out.println("3.- Aplicar descuento."); System.out.println("4.- Mostrar Multa"); System.out.println("5.- Salir"); Scanner dato=new Scanner (System.in); opc=dato.nextInt(); switch(opc){ case 1: System.out.println("Introduce el DNI:"); dato=new Scanner (System.in); String DNI=dato.nextLine(); System.out.println("1.- Inicial."); System.out.println("2.- Notificada."); System.out.println("3.- Recurrida."); System.out.println("4.- Pagada."); System.out.println("Introduce el Estado de la Multa:"); dato=new Scanner (System.in); int nestado=dato.nextInt(); System.out.println("Introduce la Cuanta:"); dato=new Scanner (System.in); double cuantia=dato.nextDouble(); System.out.println("Introduce los puntos:"); dato=new Scanner (System.in); int puntos=dato.nextInt(); boolean correcto=true; String fecha; do{ System.out.println("Introduce la Fecha:"); dato=new Scanner (System.in); fecha=dato.nextLine(); SimpleDateFormat d=new SimpleDateFormat("dd/MM/yy"); try{ d.setLenient(false); d.parse(fecha); correcto=true; } catch(ParseException ex){ System.out.println("La fecha no tiene el formato cor recto"); correcto=false; }

}while(!correcto); try{ DriverManager.registerDriver(new oracle.jdbc.driver.Orac leDriver()); Connection conn=DriverManager.getConnection("jdbc:oracle :thin:@localhost:1521:xe", "multa", "rga"); Statement s=conn.createStatement(); ResultSet rs=s.executeQuery("SELECT MAX(CODIGO) FROM MUL TA"); rs.next(); rs=s.executeQuery("INSERT INTO MULTA VALUES("+(rs.getInt (1)+1)+",'"+DNI+"',"+nestado+","+cuantia+","+puntos+",TO_DATE('"+fecha+"','DD-MM -YYYY'))"); }catch(SQLException ff){ System.out.println("Error al inssertar datos en la BBDD" ); } break; case 2: System.out.println("Indica la multa a modificar: "); dato=new Scanner (System.in); int codMulta=dato.nextInt(); try{ DriverManager.registerDriver(new oracle.jdbc.driver.Orac leDriver()); Connection conn=DriverManager.getConnection("jdbc:oracle :thin:@localhost:1521:xe", "multa", "rga"); Statement s=conn.createStatement(); ResultSet rs=s.executeQuery("SELECT * FROM MULTA WHERE C ODIGO="+codMulta); if(rs.next()) { System.out.println("1.- Inicial."); System.out.println("2.- Notificada."); System.out.println("3.- Recurrida."); System.out.println("4.- Pagada."); System.out.println("Introduzca nuevo Estado:"); dato=new Scanner (System.in); int nuevoEstado=dato.nextInt(); System.out.println("Introduzca los nuevos Puntos:"); dato=new Scanner (System.in); int nuevosPuntos=dato.nextInt(); rs=s.executeQuery("UPDATE MULTA SET ESTADO="+nuevoEs tado+",PUNTOS="+nuevosPuntos+" WHERE CODIGO="+codMulta); } else System.out.println("El cdigo de la multa es incorrecto "); }catch(SQLException ff){ System.out.println("Error al actualizar datos en la BBDD"); } break; case 3: System.out.println("Indica la multa a modificar: "); dato=new Scanner (System.in);

int codMulta2=dato.nextInt(); try{ DriverManager.registerDriver(new oracle.jdbc.driver.Orac leDriver()); Connection conn=DriverManager.getConnection("jdbc:oracle :thin:@localhost:1521:xe", "multa", "rga"); Statement s=conn.createStatement(); ResultSet rs=s.executeQuery("SELECT * FROM MULTA WHERE C ODIGO="+codMulta2); if(rs.next()) { System.out.println("Introduzca descuento aplicable:" ); dato=new Scanner (System.in); int descuento=dato.nextInt(); float nuevoImporte=rs.getFloat("CUANTIA")-rs.getFloa t("CUANTIA")*descuento/100; rs=s.executeQuery("UPDATE MULTA SET CUANTIA="+nuevoI mporte+" WHERE CODIGO="+codMulta2); } else System.out.println("El cdigo de la multa es incorrecto "); }catch(SQLException ff){ System.out.println("Error al actualizar datos en la BBDD "); } break; case 4: System.out.println("Indica la multa a mostrar: "); dato=new Scanner (System.in); int codMulta3=dato.nextInt(); try{ DriverManager.registerDriver(new oracle.jdbc.driver.Orac leDriver()); Connection conn=DriverManager.getConnection("jdbc:oracle :thin:@localhost:1521:xe", "multa", "rga"); Statement s=conn.createStatement(); ResultSet rs=s.executeQuery("SELECT * FROM MULTA WHERE C ODIGO="+codMulta3); if(rs.next()) { System.out.println("D.N.I.: "+rs.getString("DNI")); switch(rs.getInt("ESTADO")) { case 1:System.out.println("Estado: INICIAL"); break; case 2:System.out.println("Estado: NOTIFICADA"); break; case 3:System.out.println("Estado: RECURRIDA"); break; case 4:System.out.println("Estado: PAGADA"); break; } System.out.println("Cuantia: "+rs.getFloat("CUANTIA" )+" Euros."); System.out.println("Puntos: "+rs.getInt("PUNTOS"));

SimpleDateFormat d=new SimpleDateFormat("dd/MM/yy"); System.out.println("Fecha: "+d.format(rs.getDate("FE CHA"))); } else System.out.println("El cdigo de la multa es incorrecto "); }catch(SQLException ff){ System.out.println("Error al buscar datos en la BBDD"); } break; } } while(opc!=5); } }

You might also like