Curso de Java
Desde cero hasta conexiones con bases de datos MySQL
Curso de Java: Contenido
Aplicación: página 15
[ 11, 12, 13, 14, 15, 16, 17 ]
Aplicación de ejemplo
Aplicación de ejemplo
Controlador
Hasta ahora tenemos los mecanismos de conexión a base de datos y la posibilidad de mostrarlos; toca a una clase controladora llevar el proceso de autenticación y de obtención de la información. Esto se realiza con el método acciones() que discrimina cada uno de los cuatro botones en la aplicación (aquéllos a los que le agregamos listener en la ventana y a los que nos referiremos con su nombre en cursiva). Los objetos cancelar y salir, cerrarán la aplicación. Por su parte, aceptar tomará los valores de los campos de texto de autenticación y los enviará como parámetro a un objeto de la clase Conector. Si la conexión se logra, el diálogo se cerrará y le entrega el control a la ventana principal, si no, muestra el error en un cuadro de diálogo. Por su parte, consultar manda el contenido del área de texto y la conexión a una instancia de ConsultaSQL que muestra los datos en la tabla si los obtiene, si no, indica a su vez el error en otro cuadro de diálogo.
Controlador.java
package visorconsultas.controlador;
import visorconsultas.vista.VentanaConsultas;
import java.awt.event.ActionEvent;
public class Controlador {
Conector conMySQL;
public Controlador() {
}
public void acciones(VentanaConsultas visor, ActionEvent evt){
Object clicado=evt.getSource();
if(clicado==visor.autenticador.panel.aceptar){
String host=visor.autenticador.panel.servidor.getText();
String usuario=visor.autenticador.panel.usuario.getText();
String pw=new String(visor.autenticador.panel.password.getPassword());
String base=visor.autenticador.panel.base.getText();
conMySQL=new Conector(host,usuario,pw,base);
if(conMySQL.getConexion()!=null)
visor.autenticador.dispose();
else
muestraError("El error que manda MySQL es:\n"+conMySQL.getMensajeError());
}
if(clicado==visor.botones.consultar){
ConsultaSQL consulta=
new ConsultaSQL(conMySQL.getConexion(),visor.area.texto.getText());
if(consulta.getMensajeError()==null)
visor.resultados.modelo.setDataVector
(consulta.getDatosDevueltos(),consulta.getNombresColumnas());
else
muestraError("El error que manda MySQL es:\n"+consulta.getMensajeError());
}
if(clicado==visor.autenticador.panel.cancelar||clicado==visor.botones.salir)
System.exit(0);
}
private void muestraError( String e){
javax.swing.JOptionPane.showMessageDialog(null,e);
}
public static void main(String[] args){
new visorconsultas.vista.VentanaConsultas();
}
}