Foro de elhacker.net

Programación => Java => Mensaje iniciado por: elrepay en 17 Abril 2014, 04:32 am



Título: [JAVA]Enviar parmetros tipo fecha de IN o Out Stored Procedures en Java
Publicado por: elrepay en 17 Abril 2014, 04:32 am
Que tal, espero que me puedan ayuda con este problema.

Necesito pasar parámetros a un Sored Procedure que ejecuto en Java,  pero este parámetro es tipo fecha de forma YYYY-MM-DD

use esto para darle forma
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");

el tema es que si le paso harcodeado la fechas e incluso asi variable para año, para mes y para dia o le paso 2015-12-31.
Tengo problemas con la estructura y también con el dato en si.
--------------------------------

               CallableStatement ps= conexion.prepareCall("call s.SP (?,?)");
            
             SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
            String begin = sdf.format(new java.sql.Date(anio1, mes1, dia1));
             String end = sdf.format(new java.sql.Date(anio2, mes2, dia2);

                 ps.setString(1, begin);
                 ps.setString(2, end);

                 int numRows= 0;
                 rs =  ps.executeQuery();


o sie le paso como Long o String   2014-10-31

en cualquiera de las dos formas , hago en "begin" y en "end" la fecha me queda destrudida algo asi , ingeso 2015-02-28 y me queda 3129-01-31

El stored procedure no tienen parametro de salida, pero si sale resultado del select interior
asi que paar comprobar que anda

Hago:

                          rs.last();
            numRows= rs.getRow();
            
            rs.beforeFirst(); // esto te lo deja como al principio
            System.out.print(numRows);

y muestro cuantos row trajo, pero como destruye la fecha trae 0.


Por que pasa esto?, gracias y sepan disculpa la desprolijidad.