Ver Mensaje Individual
  #1 (permalink)  
Antiguo 11/06/2014, 13:55
Japrendo
 
Fecha de Ingreso: noviembre-2013
Mensajes: 147
Antigüedad: 10 años, 5 meses
Puntos: 1
executeQuery no funciona todas las veces

Gracias por su ayuda....esta parte del programa ejecuta un query teniendo en cuenta unas variables (ciudad, ARTICULO, NIVEL) y funciona bien para algunas CIUDADES, pero para otras no....si ejecuto el query por fuera, funciona bien, pero en el programa no, es como si algun valor nulo impidiera que funcionara, y lo peor en otras ciudades me trae solo 7 registros de 12 (ene,feb,....dic), pero es en el momento en que ejecuta el query....ALGUNA IDEA?

Sospecho que es en esta linea
psP = conn2.prepareStatement(consulta);
ResultSet rs =psP.executeQuery();

por que alli al hacer DEBUG, me dice cuantos registros llegaron y efectivamente para esas ciudades es 0 o 7 o 1 etc.

Repito al ejecutar la consulta por fuera en PL directamente sobre la BD funciona bien para todas las ciudades.

Código Java:
Ver original
  1. public LinkedList<RegistrosProd> getEcoProdSuc(String idSUC, int idRamo, int Nivel) throws SQLException
  2.    {        
  3.       LinkedList<RegistrosProd> listaEcoProd = new LinkedList<RegistrosProd>();
  4.       Connection conn2 = null;
  5.       try {
  6.          conn2 = ConexionEco.getConexion();
  7.       } catch (Exception e) {      
  8.          System.out.println(e.getMessage());  
  9.       }    
  10.      
  11.       if (conn2 != null) {
  12.          PreparedStatement psP;
  13.          String consulta = null;
  14.          if (Nivel==1){
  15.             consulta="SELECT ...... no lo pego por que es muy largo" ;
  16.          }
  17.          try {
  18.             psP = conn2.prepareStatement(consulta);
  19.             ResultSet rs =psP.executeQuery();
  20.             while (rs.next()){
  21.                RegistrosProd contactoP = new RegistrosProd();
  22.                contactoP.setsucux(rs.getInt("sucu"));
  23.                contactoP.setDescsuc(rs.getString("descsuc"));
  24.                contactoP.setMes(rs.getInt("mes"));
  25.                contactoP.setProdnnrealx(rs.getInt("prodnnrealx"));
  26.                contactoP.setProynntx(rs.getInt("proynntx"));
  27.                contactoP.setProdrnrealx(rs.getInt("prodrnrealx"));
  28.                contactoP.setProyrntx(rs.getInt("proyrntx"));
  29.                listaEcoProd.add(contactoP);
  30.             }
  31.          } catch (SQLException e) {
  32.            System.out.println(e.getMessage());
  33.          } catch (Exception e) {      
  34.            System.out.println(e.getMessage());
  35.          } finally {
  36.             try { // cierro la conexion con la base de datos
  37.                if (conn2 != null && !conn2.isClosed()) {                  
  38.                   conn2.close();
  39.                }      
  40.             } catch (SQLException e) {
  41.                System.out.println(e.getMessage());
  42.             } catch (Exception e) {          
  43.                System.out.println(e.getMessage());
  44.             }
  45.          }      
  46.       }        
  47.     return listaEcoProd;
  48.    }