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

Ayuda con el prepareStatement(); (SoluCionado)

Estas en el tema de Ayuda con el prepareStatement(); (SoluCionado) en el foro de Java en Foros del Web. Amigos Quiero hacer el Codigo mas Ameno =) tengo una clase el cual llamo metodosDiariosMes y la Principal llamada Conexion Código: Aqui empieza la Clase ...
  #1 (permalink)  
Antiguo 05/08/2010, 16:22
Avatar de HaroldV  
Fecha de Ingreso: enero-2010
Ubicación: Maracaibo
Mensajes: 100
Antigüedad: 14 años, 3 meses
Puntos: 3
Ayuda con el prepareStatement(); (SoluCionado)

Amigos Quiero hacer el Codigo mas Ameno =)

tengo una clase el cual llamo metodosDiariosMes y la Principal llamada Conexion

Código:
Aqui empieza  la Clase metodosDiariosMes

try {
   
                 conectar(); //LLAMO a la clase 

                 query2 ="Select   Max(greatest(hora0030,hora0130,hora0230,hora0330,hora0430,hora0530,hora0630,hora0730," +                                    "hora0830,hora0930,hora1030,hora1130,hora1230,hora1330,hora1430,hora1530," +
                                    "hora1630,hora1730,hora1830,hora1930,hora2030,hora2130,hora2230,hora2330)) As ValorMax FROM"+" "+elemento+" WHERE fecha= ?";

                            prepararConsulta(query2); // Aqui llamo al metodo que esta en la clase Conexion que abalo les muestro 

Código:
esto se encuentra en la clase Conexion la principal alli tengo el metodo conectar y desconectar junto con este =) pero algo me esta generando un error al momento de hacer el ExecuteQuery en la clase metodosDiariosMes

 public void prepararConsulta(String query){

        try {
            
            pst = conex.prepareStatement(query);


        } catch (SQLException ex) {

            System.out.println("ERROR en PREPARAR CONSULTA PAPA =) ");
        }

    }
luego sigue el codigo y me genera un error al llegar el ExecuteQuery(); como lo dije anteriormente pst.setString(1, fechaCompleta); rst = pst.executeQuery(); //// Aqui se genera el error System.out.println("prepraCONSULTA"); rst.next(); cad = rst.getString("ValorMax"); System.out.println(cad); System.out.println(fechaCompleta); tablaDiarios.setValueAt(cad, i, j); //tablaDiarios.setValueAt(cad, 0, 0); // modelo.addRow(fila); } } } catch(SQLException e){ System.err.println("AJA Y AHORA QUE SERA= "+e); }
Lo que quiero es desarrollar todo de manera mas dinamica =) para tener una mejor fluidez =) al momento de programar =) les agradezco la Ayuda que puedan aportar =)

el Error que se genera es este por si se lo preguntan
Código:
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
        at Controlador.metodosDiariosMes.ver(metodosDiariosMes.java:57)
        at Vista.diariosMes.btnVerActionPerformed(diariosMes.java:400)
        at Vista.diariosMes.access$500(diariosMes.java:24)
        at Vista.diariosMes$6.actionPerformed(diariosMes.java:125)
        at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
        at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
        at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
        at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
        at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
        at java.awt.Component.processMouseEvent(Component.java:6263)
        at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
        at java.awt.Component.processEvent(Component.java:6028)
        at java.awt.Container.processEvent(Container.java:2041)
        at java.awt.Component.dispatchEventImpl(Component.java:4630)
        at java.awt.Container.dispatchEventImpl(Container.java:2099)
        at java.awt.Component.dispatchEvent(Component.java:4460)
        at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4574)
        at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238)
        at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
        at java.awt.Container.dispatchEventImpl(Container.java:2085)
        at java.awt.Window.dispatchEventImpl(Window.java:2475)
        at java.awt.Component.dispatchEvent(Component.java:4460)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)

Última edición por HaroldV; 05/08/2010 a las 22:34 Razón: Ayuda con el prepareStatement(); (SoluCionado)
  #2 (permalink)  
Antiguo 05/08/2010, 18:07
Avatar de FiruzzZ  
Fecha de Ingreso: diciembre-2007
Ubicación: en casa
Mensajes: 470
Antigüedad: 16 años, 4 meses
Puntos: 41
Respuesta: Ayuda con el prepareStatement();

1ro: los nombre de las Clases empiezan con Mayúscula
2do: ese método... void prepararConsulta(String), ¿te funciona con alguna otra consulta?

Porque no estoy viendo como y donde retornás pst (de la Class Conexion)
pst= conex.prepareStatement(query);
a la Class metodosDiariosMes
rst = pst.executeQuery(); //// Aqui se genera el error
__________________
BadProgrammerException!
  #3 (permalink)  
Antiguo 05/08/2010, 18:31
Avatar de HaroldV  
Fecha de Ingreso: enero-2010
Ubicación: Maracaibo
Mensajes: 100
Antigüedad: 14 años, 3 meses
Puntos: 3
Respuesta: Ayuda con el prepareStatement();

Cita:
Iniciado por FiruzzZ Ver Mensaje
1ro: los nombre de las Clases empiezan con Mayúscula
2do: ese método... void prepararConsulta(String), ¿te funciona con alguna otra consulta?

Porque no estoy viendo como y donde retornás pst (de la Class Conexion)
pst= conex.prepareStatement(query);
a la Class metodosDiariosMes
rst = pst.executeQuery(); //// Aqui se genera el error
Ok voy a mostrarte lo que llevo xq e seguido indagando y tirando piedras =)
la funcion la coloque asi
Código:
 public PreparedStatement prepararConsulta(String query){

        try {
            
            pst = conex.prepareStatement(query);

        } catch (SQLException ex) {

            System.out.println("ERROR en PREPARAR CONSULTA PAPA =) ");
        }
        return  pst;
    }
y en la clase MetodosDiariosMes coloque lo siguiente
Código:
try {
              conectar();
              for (year=anoInicio; year<=anoFin ; year++,i++){

                  int j=2;

                            query2 ="Select Max(greatest(hora0030,hora0130,hora0230,hora0330,hora0430,hora0530,hora0630,hora0730," +
                                    "hora0830,hora0930,hora1030,hora1130,hora1230,hora1330,hora1430,hora1530," +
                                    "hora1630,hora1730,hora1830,hora1930,hora2030,hora2130,hora2230,hora2330)) As ValorMax FROM"+" "+elemento+" WHERE fecha= ?";

                            prepararConsulta(query2).setString(1, fechaCompleta); /////estoy pegando el metodo con el setString xq estoy retornando el "pst" lo que no encuentro ahora es juntarlo con el ExecuteQuery();

                            rst = (¿que Iria Aqui ?).executeQuery();

                            
                            rst.next();
..........................
.................
....................
  #4 (permalink)  
Antiguo 05/08/2010, 22:36
Avatar de HaroldV  
Fecha de Ingreso: enero-2010
Ubicación: Maracaibo
Mensajes: 100
Antigüedad: 14 años, 3 meses
Puntos: 3
Respuesta: Ayuda con el prepareStatement();

Cita:
Iniciado por HaroldV Ver Mensaje
Ok voy a mostrarte lo que llevo xq e seguido indagando y tirando piedras =)
la funcion la coloque asi
Código:
 public PreparedStatement prepararConsulta(String query){

        try {
            
            pst = conex.prepareStatement(query);

        } catch (SQLException ex) {

            System.out.println("ERROR en PREPARAR CONSULTA PAPA =) ");
        }
        return  pst;
    }
y en la clase MetodosDiariosMes coloque lo siguiente
Código:
try {
              conectar();
              for (year=anoInicio; year<=anoFin ; year++,i++){

                  int j=2;

                            query2 ="Select Max(greatest(hora0030,hora0130,hora0230,hora0330,hora0430,hora0530,hora0630,hora0730," +
                                    "hora0830,hora0930,hora1030,hora1130,hora1230,hora1330,hora1430,hora1530," +
                                    "hora1630,hora1730,hora1830,hora1930,hora2030,hora2130,hora2230,hora2330)) As ValorMax FROM"+" "+elemento+" WHERE fecha= ?";

                            prepararConsulta(query2).setString(1, fechaCompleta); /////estoy pegando el metodo con el setString xq estoy retornando el "pst" lo que no encuentro ahora es juntarlo con el ExecuteQuery();

                            rst = (¿que Iria Aqui ?).executeQuery();

                            
                            rst.next();
..........................
.................
....................
Era Muy Sencilla Acabo de dar con la Solucion =) Simplemente Quedaria asi =)
Código:
Preparestatement    pst =  prepararConsulta(query2);
                                     pst.setString(1, fechaCompleta);
                                     rst = pst.executeQuery();
y La Funcion en la Clase Conexion quedaria Asi =)

Código:
public PreparedStatement prepararConsulta(String query){

        try {
            
            pst = conex.prepareStatement(query);

        } catch (SQLException ex) {

            System.out.println("ERROR en PREPARAR CONSULTA PAPA =) ");
        }
        return  pst;
    }
y Listo =) gracias por el Aporte FiruzzZz Se me prendio El Bombillo A esta Hora =) je je

Etiquetas: solucionado
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 10:10.