Foros del Web » Programación para mayores de 30 ;) » Java »

Ayuda para llamar clase de conexion desde otro archivo

Estas en el tema de Ayuda para llamar clase de conexion desde otro archivo en el foro de Java en Foros del Web. Buenas tardes. Tengo un problema a ver si me pueden ayudar. Hice una clase para conectar a una base de datos mysq por jdbc, con ...
  #1 (permalink)  
Antiguo 19/08/2008, 17:40
 
Fecha de Ingreso: marzo-2008
Ubicación: Zacatecas
Mensajes: 45
Antigüedad: 16 años, 8 meses
Puntos: 1
Ayuda para llamar clase de conexion desde otro archivo

Buenas tardes.

Tengo un problema a ver si me pueden ayudar.

Hice una clase para conectar a una base de datos mysq por jdbc, con 3 metodos, una para conectar, devolver la conexion y cerrar la conexion.

Tengo otro desde donde mando llamar esa clase. y si conecta bien, pero a la hora de recuperar la conexion, para asignarle un Statement para una consulta me marca este error.

"C:\javaivan>javac PruebaConexion.java
PruebaConexion.java:12: non-static variable stmt_consul cannot be referenced from a static context stmt_consul=myconn.createStatement();
^
1 error"

Mi pregunta es, estoy mandando llamar mal el Statement.

Estos son mis archivos.

PruebaConexion.java

import saaf.db.*;
import java.sql.*;

class PruebaConexion
{
Statement stmt_consul=null;
public static void main(String [] args)
{
// Creamos una instancia de la clase conn_bd llamada conn
dbconn cn = new dbconn("localhost","saaf","root","mypass");
Connection myconn = cn.getConexion();
stmt_consul=myconn.createStatement();
//Cerrar conexion
cn.CerrarConexion();
System.out.println(myconn);
}
}


************************************************
dbconn.java

package saaf.db;
import java.sql.*;

public class dbconn
{
public String driver,url,ip,bd,usr,pass;
public Connection conexion;
public dbconn(String ip, String bd, String usr, String pass)
{
driver="com.mysql.jdbc.Driver";
this.bd = bd;
this.usr = usr;
this.pass = pass;
url = new String("jdbc:mysql://" + ip + "/" + bd);
try
{
Class.forName(driver).newInstance();
conexion=DriverManager.getConnection(url,usr,pass) ;
System.out.println("Conexion a Base de Datos " + bd + " Ok");
}

catch (Exception exc)
{
System.out.println("Error al tratar de abrir la base de Datos"+bd+" : "+exc);
}
}
/**Permite retornar la conexión*/
public Connection getConexion()
{
return conexion;
}
public void CerrarConexion()
{
conexion = null;
}
} //fin de la clase


Agradeceria mucho su ayuda, piesno que un detalle minimo, pero no se que pueda ser
Gracias
  #2 (permalink)  
Antiguo 20/08/2009, 14:30
 
Fecha de Ingreso: agosto-2009
Mensajes: 2
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: Ayuda para llamar clase de conexion desde otro archivo

Aqui te dejo el codigo corregido ya lo probe con una base de datos que tenia y conecto correctamente:

import saaf.db.*;
import java.sql.*;

class PruebaConexion
{
static Statement stmt_consul=null;
public static void main(String [] args) throws SQLException
{
// Creamos una instancia de la clase conn_bd llamada conn
dbconn cn = new dbconn("localhost","jobs","root","");
Connection myconn = cn.getConexion();
stmt_consul=myconn.createStatement();
//Cerrar conexion
cn.CerrarConexion();
System.out.println(myconn);
}
}
*************************************************
package saaf.db;
import java.sql.*;

public class dbconn
{
public String driver,url,ip,bd,usr,pass;
public Connection conexion;
public dbconn(String ip, String bd, String usr, String pass)
{
driver="com.mysql.jdbc.Driver";
this.bd = bd;
this.usr = usr;
this.pass = pass;
url = new String("jdbc:mysql://" + ip + "/" + bd);
try
{
Class.forName(driver).newInstance();
conexion=DriverManager.getConnection(url,usr,pass) ;
System.out.println("Conexion a Base de Datos " + bd + " Ok");
}

catch (Exception exc)
{
System.out.println("Error al tratar de abrir la base de Datos"+bd+" : "+exc);
}
}
/**Permite retornar la conexión*/
public Connection getConexion()
{
return conexion;
}
public void CerrarConexion()
{
conexion = null;
}
} //fin de la clase
**************************************************
resultaodos obtenidos:

Conexion a Base de Datos jobs Ok
com.mysql.jdbc.Connection@89fbe3
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:27.