buenas tardes, tengo instalado mysql y netbeans 6.5, lo que pretendo hacer con la conexion a la base de datos
es que sea de forma global como se hace comun en los lenguajes y de ahi poder realizar todas mis conexiones.
En los desarrollos con delphi o vb(creo un modulo.bas declaro el nombre de la conexion como public para despues
abrirla al cargarse en la forma principal y en cada forma solo me refiero a ella para mis operaciones como
conexion.Execute(sql) al terminar la cierro por completo)
es pocible hacer algo semejante.
por un lado tengo una clase TestConnection.java que es la conecion, despues tengo en una frame
coloco un boton, y ese boton tengo q instanciar a la clase para llamar a los objetos declarados, y realizar
las operaciones:
Código PHP:
private void btnConectarActionPerformed(java.awt.event.ActionEvent evt) {
TestConnection conexion = new TestConnection();
conexion.conectar();
ahora que mejor que cuando se ejecute la forma se carge la conexion y se cierre hasta que termine el programa
lo hize.... pero ahora puse el codigo en un boton para hacer una operacion pero no se puede por que solo
funciona en el evenyo declarado, existe la forma de que pueda llamar desde cualquier lado mi objeto Coneccion
Código PHP:
private void formWindowOpened(java.awt.event.WindowEvent evt) {
TestConnection conexion = new TestConnection();
conexion.conectar();
}
este es codigo que realize y me da errores por que no encuentra a que conexion es ?
siendo que estan en declarados como public y claro es bajo la instancia si se encuentran
siempre y cuando esten en dicho evento, como puedo lograr esto ya que lo que no quiero es
ejecutar otra conecion al servidor ya que ya abri una y bajo esa siempre pueda trabajar:
Código PHP:
private void btnConectarActionPerformed(java.awt.event.ActionEvent evt) {
////TestConnection conexion = new TestConnection(); Si quito lo comenarios corre sin problemas
ResultSet rs; //variable local
////conexion.conectar()
etiqueta.setText("Se ha establecido la Conexion " + conexion.url);
try {
rs=stm.executeQuery("select * from eq_categorias");
while(rs.next()){
System.out.println("Registro " + rs.getString(1)+ " " + rs.getString(2));
}
conexion.conn.close();
}
catch(SQLException ex) { System.out.println(ex); }
}
//TestConnection .java
import java.sql.*;
public class TestConnection {
public String url="jdbc:mysql://localhost/base";
public Statement stm;
public ResultSet rsgl;
public Connection conn = null;
public void conectar(){
try {
Class.forName("org.gjt.mm.mysql.Driver");
//Class.forName("com.mysql.jdbc.Driver).newInstance();
conn=DriverManager.getConnection(url,root,clave);
if (conn !=null) {
System.out.println("Coneccion a la base de datos");
stm=conn.createStatement();
//conn.close();
}
}
catch(SQLException ex) { System.out.println(ex); }
catch(ClassNotFoundException ex) { System.out.println(ex); }
}//fin deconectar
}
les agragesco si alguien me puede comentar como instanciar la clase como si dejeramos
publicamente.
gracias