miércoles, 13 de julio de 2011

Taller POO Eventos Errores y Excepciones.


Bueno aqui van los codigos de errores eventos y excepciones.
En la excepcion marcamos que si no se pudo conectar a la base de datos, que despliegue un ERROR_MESSAGE cone l objetivo de saber que fue lo que paso, en caso de que si se conecto correctamente te envia un mensaje de informacion para que sepas que estas conectado correctamente.

 try
{
Class.forName(drv); cont = DriverManager.getConnection(db, user, pass); //Este es el que hace la conexión de los statement con MySQL
hector = cont.createStatement(); //Haciendo esto permites que se pueda utilizar para trabajar
//st.executeUpdate("DROP TABLE TABLA");
System.out.print("Conexion Exitosa\n");
}catch(Exception e) { System.out.println("No se pudo conectar a la B
ase de Datos");
JOptionPane.showMessageDialog(null,"No se pudo conectar a la base de datos", "Error", JOptionPane.ERROR_MESSAGE);
}
}
Otra tanto excepcion como evento es cuando le damos ignresar usuario, aqui al momento de ingresar al usuario lo que haremos es crear una excepcion por si los datos que introduce son incorrectos, como poner variables flotantes dentro de varchars, o bien si no se pudo conectar a la base de datos.
public void insertarDatos(String usuario, String nombre, String pass, int peso, String sexo, String email) {
try {
hector.executeUpdate("INSERT INTO usuario (nombre, pass, usuario, apellido, peso, sexo) VALUES ('"+nombre+"', '"+pass+"', '"+usuario+"', '"+email+"', "+peso+", '"+sexo+"')");
System.out.println("Se insertaron los datos correctamente\n");
JOptionPane.showMessageDialog(null,"Se han introducido correctamente los datos", "Correcto", JOptionPane.INFORMATION_MESSAGE);
}
catch(Exception e){
JOptionPane.showMessageDialog(null,"Los datos son incorrectos", "Error", JOptionPane.ERROR_MESSAGE);
System.out.println("No se pudieron insertar los datos\n");
System.out.println("INSERT INTO usuario (nombre, pass, usuario, apellido, peso, sexo) VALUES ("+nombre+", "+pass+", "+usuario+", "+email+", "+peso+", "+sexo+")");
}
}

Aqui podemos ver lo explicado con una captura de pantalla.





En esta ultima captura de pantalla podemos ver como al momento de llamar al evento ingresar, el usuario y contrasena marcado no esta en la base de datos, por eso lo que hace el codigo es llamar una excepcion y esa excepcion crearla con un mensaje, que el mensaje dice que no son correctos los usuarios y contrasenas. Este es el codigo de dicha pantalla para que vean como compare los datos.



public void compararDatos(String usuario, String pass){
try {
rs = hector.executeQuery("SELECT pass, usuario FROM usuario WHERE pass ="+pass+" AND usuario = "+usuario+"");
System.out.println("El nombre y usuario son correctos");
boolean x = false;
JOptionPane.showMessageDialog(null,"Muy bien amigito!", "Excelente", JOptionPane.INFORMATION_MESSAGE);
}
catch (Exception e){
JOptionPane.showMessageDialog(null,"Error contrasena y usuario incorrecta", "Error", JOptionPane.ERROR_MESSAGE);
System.out.println("El nombre de usuario y/o contrasena es incorrecta");
boolean x = true;
System.out.println("SELECT usuario, pass FROM usuario WHERE usuario = "+usuario+" AND pass = "+pass+"");
}


}


Estas son algunas de mis excepciones, ahora vamos a habalr sobre los eventos que tengo pero ya con mas codigo, al ActionPerformed, esta funcion es para llamar a que el boton, o cualquier cosa que vaya a hacer algo haga algo. Este es un ejemplo de mi codigo.
  private class thehandler implements ActionListener {
/*Metodo actionPerformed
* aqui se ejecutaran los botones, y ver que hace cada boton cuando le das una accion
*/
public void actionPerformed (ActionEvent evento){
Database db = new Database();

if(evento.getSource() == ingresar){
Usuario = usuario.getText();
Password = password.getText();
db.compararDatos(Usuario, Password);
Enfermedad enfer = new Enfermedad();

}

else if (evento.getSource() == cancelar);
dispose();

}


Aqui podemos ver que en el action performed le damos un atributo que es el evento, el cual es otro atributo de ActionEvent, este sirve para en cuanto le des click a algo, boom te salga algo y eso es lo que sigue del codig, por ejemplo en este codigo estamos comparando los datos de los usuarios para ingresar al sistema.




En este evento de boton, ponemos que en cuanto le pique a un boton y escoja una cosa en el combo box el text area desplegara algo. Lo que desplagara es la medicina y los sintomas de la enfermedad que la persona escojio dentro del combobox.

private class thehandler implements ActionListener {

public void actionPerformed (ActionEvent evento){
bambam = combo.getSelectedItem();
texto = bambam.toString();
if(mevale[0] == null ? texto == null : mevale[0].equals(texto)){
area.setText(gripa);
area6.setText(gripaM);

}
if(mevale[1]== null ? texto == null : mevale[1].equals(texto)){
area.setText(migrana);
area6.setText(migranaM);
}
if(mevale[2]== null ? texto == null : mevale[2].equals(texto)){
area.setText(agruras);
area6.setText(agrurasM);
}
Medicina med = new Medicina ();

}
}
}



Bueno estas son pocos eventos y exepciones que tengo en mi proyecto, las demas las pueden ver en el codigo fuente que despues subire.

No hay comentarios:

Publicar un comentario