Gente:
Estoy tratando de tirar excepciones por consola y no me da la cosa.
Me explico:
al intentar ingresar un RUT que no exista en la base de datos (trabajo en una clase que llama a un procedimiento almacenado), me debe de decir que la cosa no pudo ser eliminada (estoy borrando por rut)
Acá dejo el código:
System.out.println("Ingrese el RUT: ");
String rut = sc.next();
if(rut!= null) {
cstmt.setString(1,rut);
cstmt.execute();
System.out.println("***Llamada a Procedimiento Almacenado****");
System.out.println("Persona eliminada con Exito");
con.close();
}
else
{
System.out.println("EL RUT NO EXISTE");
}
Al final todo me pasa de largo, no me detiene los RUT que no existan en la base de datos.
Dejo la clase completa por si acaso:
import java.sql.*;
import java.util.*;
import java.io.*;
import Carga.Inicio;
import Carga.MenuPrueba;
public class ProcedimBorrar {
private Connection Conexion;
private CallableStatement cstmt = null ;
public ProcedimBorrar(Connection Con) {
Conexion = Con;
}
public static void Borra() throws Exception
{
Class.forName("com.microsoft.sqlserver.jdbc.SQLSer verDriver");
Connection con=DriverManager.getConnection("jdbc:sqlserver://MARTE:1433;DatabaseName=Prueba", "sa", "gsiinformatica");
CallableStatement cstmt = con.prepareCall("{call ProcedAlmac_BorraPersona(?)}");
Scanner sc=new Scanner(System.in);
Scanner consola = new Scanner(System.in);
BufferedReader stdin = new BufferedReader(new InputStreamReader(System.in));
int opcion = 0;
String seleccion = "";
System.out.println("Ingrese el RUT: ");
String rut = sc.next();
if(rut!= null) {
cstmt.setString(1,rut);
cstmt.execute();
System.out.println("***Llamada a Procedimiento Almacenado****");
System.out.println("Persona eliminada con Exito");
con.close();
}
else
{
System.out.println("EL RUT NO EXISTE");
}
try{
do{
System.out.println("");
System.out.println("Desea seguir borrando weones?");
System.out.println("");
System.out.println(" Seleccione la opcion que desee: ");
opcion = consola.nextInt();
switch (opcion) {
case 1:
System.out.println("Opcion 1: Seguir");
System.out.println("");
ProcedimBorrar.Borra();
break;
case 2:
System.out.println("Opcion 2: Salir");
System.out.println("");
System.out.println("\nHasta Pronto!!!");
System.exit(2);
break;
default:
System.out.println("Seleccion no valida");
System.out.print("Pulse S si desea continuar o cualquier tecla y luego ENTER para salir: ");
seleccion = stdin.readLine();
}
} while (seleccion.equals("s"));
System.out.println("\nHasta Pronto!!!");
System.exit(4);
}catch(java.util.InputMismatchException ex){
System.out.println ("La entrada debe ser numérica.");
System.exit(4);
}
}
}