DevilKeeper escribió:ramulator escribió:Budathecat escribió:De nada. Pero lo entendiste?
El problema es que se declara como variable estática y no debería, ¿no?
No, más bien al contrario.
Imagino que los metodos DbConnection y CuantasF están en la misma clase, y que en esa clase tienes una variable gobal llamada conexion.
El problema está en que cuando en el DbConnection pones
Connection conexion = DriverManager.getConnection(url,login,password);
Estás creando una nueva variable, que no es tu variable global conexion. Esa nueva variable tendrá su vida en ese método, y al terminar sus instrucciones, desaparecerá.
Cuando te han dicho que pongas esto:
conexion = DriverManager.getConnection(url,login,password);
Ahí sí que estás dando valor a la variable golbal de tu clase. Por eso al terminar el método DbConnection, ya no te da null, porque mantiene el valor que le has dado en el método.
Bueno, así lo entiendo yo. Si me dices que DbConnection está en otra clase distinta, entonces no entiendo como te funciona, si no creas ningún objeto del tipo DbConnection...
Aquí te dejo un link sobre las variables globales y locales. No es java, pero el código se entiende:
https://msdn.microsoft.com/es-es/librar ... 90%29.aspx