MySQL - Ayuda al realizar esta consulta

 
Vista:

Ayuda al realizar esta consulta

Publicado por X10MINI (1 intervención) el 01/10/2013 00:24:49
que tal amigos necesito un poco de su ayuda en este metodo ya que los datos que ingreso si llegan lo que no hace es ejecutarla consulta no se si esta bien la forma en la que estoy casteando mis variables lo que quiero es convertir de String a enteros ya que lo que se recibe en la consulta es un entero espero puedan ayudarme gracias!!

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
private String query;
    private List<Anuncio_Vehiculo> bav;
    org.apache.log4j.Logger logger = org.apache.log4j.Logger.getLogger("c3p0.DataSourceC3P0");
 
    public List<Anuncio_Vehiculo> MostrarVehiculo(String palabra, String nombre, String nombreEstado, String marca, String modelo, String pmin, String pmax, String version, String kmin, String kmax, String combustible, String amin, String amax) {
 
 
        try {
            conn = dconexion.getConnection();
 
            query = "select av.Id_Anuncio_Vehiculos, av.Titulo, av.Descripcion, av.Precio, av.Fecha_pub, av.kilometraje, ma.nombre, ea.Nombre,\n"
                + "avc.anos, mv.nombre_modelo, mvc.nombre_marca, vvc.nombre_version, tvc.Nombre,\n"
                + "(select ruta from imagen_vehiculo iv where av.Id_Anuncio_Vehiculos=iv.Id_Vehiculo limit 1) as ruta,\n"
                + "(select count(*) as no_rutas from imagen_vehiculo iv where iv.Id_Vehiculo=av.Id_Anuncio_Vehiculos) as no_rutas,\n"
                + "(select nombre from combustible_vehiculos_catalogo cvc where cvc.Id_Combustible=? and cvc.Id_Combustible=av.Id_Combustible)as combustible,\n"
                + "(select nombre from color_vehiculo_catalogo covc where covc.Id_Color_Vehiculo_Catalogo=av.Id_Color)as color\n"
                + "from anuncio_vehiculo av, estado_anuncio ea, municipio_anuncio ma,ano_vehiculo_catalogo avc, ano_modelo_version amv, modelos_vehiculos mv, marca_vehiculo_catalogo mvc,\n"
                + "version_vehiculos_catalogos vvc, tipo_vehiculo_catalogo tvc\n"
                + "where av.Id_Minicipio=ma.Id_Municipio_Anuncio and ea.Id_Estado=ma.Id_Estado and av.id_ano_model_version=amv.id_ano_modelo_version and avc.id_anio_vehiculo=amv.id_ano_vehiculos\n"
                + "and mv.id_modelo_vehiculo=amv.id_modelo_vehiculos and mvc.id_marca_vehiculo=mv.id_marca_vehiculo and vvc.id_version_vehiculos=amv.id_version_vehiculos\n"
                + "and tvc.Id_Tipo_Vehiculo=vvc.id_version_vehiculos and av.Titulo like ? or av.Precio>=? and av.Precio<=? or av.kilometraje>=? and av.kilometraje<=? or avc.anos>=? and avc.anos<=?\n"
                + "and mv.id_modelo_vehiculo=? or mv.id_marca_vehiculo=? or vvc.id_version_vehiculos=? or tvc.Id_Tipo_Vehiculo=? or ea.Id_Estado=? ;";
 
 
            PreparedStatement st = conn.prepareStatement(query);
 
           //Imprime los datos que llegan desde mi formulario esto para verificar que esten llegando a        mi metoso
 
           logger.info("combustible " + combustible);
            logger.info("palabra " + palabra);
            logger.info("pmin " + pmin);
            logger.info("pmax " + pmax);
            logger.info("kmin " + kmin);
            logger.info("kmax " + kmax);
            logger.info("amin " + amin);
            logger.info("amax " + amax);
            logger.info("modelo " + modelo);
            logger.info("marca " + marca);
            logger.info("version " + version);
            logger.info("nombre tipo " + nombre);
            logger.info("nombreEstado " + nombreEstado);
 
//aqui es donde realizo el casteo de algunas variables de string a enteros
 
            st.setInt(1, Integer.valueOf(combustible));
            st.setString(2, "%" + palabra + "");
            st.setString(3, "pmin");
            st.setString(4, "pmax");
            st.setString(5, "kmin");
            st.setString(6, "kmax");
            st.setString(7, "amin");
            st.setString(8, "amax");
            st.setInt(9, Integer.valueOf(modelo));
            st.setInt(10, Integer.valueOf(marca));
            st.setInt(11, Integer.valueOf(version));
            st.setInt(12, Integer.valueOf(nombre));
            st.setInt(13, Integer.valueOf(nombreEstado));
 
 
 
 
            ResultSet result = st.executeQuery();
 
            bav = new ArrayList<Anuncio_Vehiculo>();
 
            while (result.next()) {
                Anuncio_Vehiculo bavs = new Anuncio_Vehiculo();
                bavs.setId_publicacion(result.getString("Id_Anuncio_Vehiculos").toString());
                bavs.setTitulo(result.getString("titulo"));
                bavs.setDescripcion2(result.getString("Descripcion"));
                bavs.setPreciop(String.valueOf(result.getFloat("precio")));
                bavs.setFecha(result.getDate("fecha_pub").toString());
                bavs.setDescripcion1(result.getString("nombre"));
                bavs.setRuta(result.getString("ruta"));
                bavs.setNo_rutas(result.getString("no_rutas").toString());
                bavs.setCategoria("Vehículos");
                bavs.setLista_imagenes(imgd.getListImagenes(bavs.getId_publicacion()));
                bav.add(bavs);
            }
 
 
        } catch (Exception e) {
            e.printStackTrace();
            System.out.println("Problema en el metodo de la consulta");
        } finally {
            if (conn != null) {
                try {
                    conn.close();
                } catch (SQLException ex) {
                    Logger.getLogger(AnuncioVehiculoDao.class.getName()).log(Level.SEVERE, null, ex);
                }
            }
        }
 
        return bav;
 
    }
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder