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