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

Conexion a BD con IF

Estas en el tema de Conexion a BD con IF en el foro de Java en Foros del Web. Agradezco sus comentarios. Necesito ejecutar un query dependiendo el valor de unas variables, pero cuando inserto el IF para evaluar, me genera error la variable ...
  #1 (permalink)  
Antiguo 20/05/2014, 10:05
 
Fecha de Ingreso: noviembre-2013
Mensajes: 147
Antigüedad: 10 años, 5 meses
Puntos: 1
Conexion a BD con IF

Agradezco sus comentarios.

Necesito ejecutar un query dependiendo el valor de unas variables, pero cuando inserto el IF para evaluar, me genera error la variable de conexion.

Agradezco cualquier ayuda.
Código Java:
Ver original
  1. String idS = request.getParameter("id");
  2.         String idSs = request.getParameter("nm");
  3.         String idO = request.getParameter("idO");
  4.         DBRegistros cDB = new DBRegistros();
  5.         if (idO!="0"){
  6.            LinkedList<RegistrosProd> listaEcoProd = cDB.getEcoProdSuc(idS);
  7.         }else {
  8.            LinkedList<RegistrosProd> listaEcoProd = cDB.getEcoProdSuc(idS);
  9.         }
  10.            out.println("Registros" + listaEcoProd.size());

El error es en la ultima linea y me dice "cannot find Symbol" se refiere a la variable listaEcoProd.
  #2 (permalink)  
Antiguo 20/05/2014, 11:26
Avatar de Xerelo  
Fecha de Ingreso: mayo-2009
Mensajes: 2.175
Antigüedad: 15 años
Puntos: 306
Respuesta: Conexion a BD con IF

Supongo que será una prueba, pero el código de las dos partes del if es el mismo, así que hará lo mismo independientemente del valor de id0.

Java no es tan "listo" como para saber que pase lo que pase la referencia listaEcoProd siempre va existir, porque has puesto una condición para que exista. Como regla, piensa que lo que se declara dentro de unas llaves, sólo existe dentro de esas llaves. Ojo, esta regla aplica a la referencia/variable, no al objeto.

Lo que tienes que hacer es declarar la variable fuera del if/else, y dentro del if/else le asignas valores.
__________________
Cada vez que solucionas los problemas de alguien que no se esfuerza, piensa en que el día de mañana puede llegar a ser tu compañero de trabajo, o peor, tu jefe.
  #3 (permalink)  
Antiguo 20/05/2014, 13:39
 
Fecha de Ingreso: noviembre-2013
Mensajes: 147
Antigüedad: 10 años, 5 meses
Puntos: 1
Respuesta: Conexion a BD con IF

Gracias Xerelo, es que ahi esta el lio.

Ya intente declararla antes del IF y cuando hago esto entonces me genera el error :

"Variable listaEcoProd is already defined in method"

Probe iniciarla como publica, pero tampoco....que me falta hacer?
  #4 (permalink)  
Antiguo 21/05/2014, 00:33
Avatar de rgf1987  
Fecha de Ingreso: diciembre-2012
Ubicación: Asturias
Mensajes: 269
Antigüedad: 11 años, 4 meses
Puntos: 22
Respuesta: Conexion a BD con IF

Ese error te esta indicando que estas declarando dos veces la variable, fuera del la sentencia IF tienes que declarar la variable y ya dentro de la sentencia le das valor

Código Java:
Ver original
  1. String idS = request.getParameter("id");
  2.         String idSs = request.getParameter("nm");
  3.         String idO = request.getParameter("idO");
  4.         DBRegistros cDB = new DBRegistros();
  5.         LinkedList<RegistrosProd> listaEcoProd = null;
  6.         if (idO!="0"){
  7.            listaEcoProd = cDB.getEcoProdSuc(idS);
  8.         }else {
  9.            listaEcoProd = cDB.getEcoProdSuc(idS);
  10.         }
  11.         out.println("Registros" + listaEcoProd.size());

Etiquetas: bd, conexion, string, valor
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 12:05.