Ver Mensaje Individual
  #1 (permalink)  
Antiguo 06/04/2008, 13:42
masterice
 
Fecha de Ingreso: abril-2008
Mensajes: 20
Antigüedad: 16 años, 9 meses
Puntos: 0
Objeto Connection global

Saludos.

Estoy dando mis primeros pasos en Java y me gustaria que me aclararan o ayudaran en esta cuestion en concreto.

Tengo un JFrame diseñado con elementos Swing (jtable, jtexfield, jbutton etc), y me gustaria incluir un objeto Connection para una conexion a una base de datos MySql pero que tenga un alcance global, es decir que este accesible desde cualquier boton del Jframe de forma que no tenga que declararlo nuevamente. En resumen abrirlo al inicio y cerrarlo por ejemplo cuando pulse el boton de Cerrar.

Ahora mismo lo tengo declarado en el MAIN del proyecto y de echo conecta perfectamente, pero cuando intento cerrarlo con la instruccion close() desde el evento cmdCerrarMouseClicked() del jbutton me da error.

public static void main(String args[]) throws Exception {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
// abre el driver Mysql

Connection GLB_db = null;

try
{
Class.forName("com.mysql.jdbc.Driver").newInstance ();
GLB_db = DriverManager.getConnection(url,login,password);

if (GLB_db != null)
{
System.out.println("Conexión a base de datos "+url+" ... Ok");

}
}
catch (InstantiationException ex) {
Logger.getLogger(frmPolizas.class.getName()).log(L evel.SEVERE, null, ex);
} catch (IllegalAccessException ex) {
Logger.getLogger(frmPolizas.class.getName()).log(L evel.SEVERE, null, ex);
} catch(SQLException ex)
{
System.out.println(ex);
}
catch(ClassNotFoundException ex)
{
System.out.println(ex);
}


// resto de instrucciones
new frmPantalla().setVisible(true);

}
});
}


// ESTE ES EL EVENTO DEL JBUTTON DONDE QUIERO CERRAR LA CONEXION.

private void cmdCerrarMouseClicked(java.awt.event.MouseEvent evt) {

// cierra el objeto coneccion de la base de datos
GLB_db.close(); // ME MARCA UN ERROR

// cierra el programa completo
System.exit(0);

}

¿Alguna sugerencia?. Gracias anticipadas