0 votos
por (20 puntos) en Java EE
Buen dia tengo un problema con el desarrollo de una aplicacion web la cual en un principio la carga de datos era enteros pero ahora la quiero cambiar para cargar datos decimales pero me genera error en el insert STRING NO VALIDO la misma esta desarrollada en jsp con manejador sql server aca le dejo el codigo:

/*********************

<%

            }

        }

    }

    Connection con = null;

    try {

        String campo = request.getParameter("rif_cedente");

        if (campo instanceof String) {

            Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

            con = DriverManager.getConnection("jdbc:odbc:SQLSERVER");

            Statement stmt = con.createStatement();

            double monto_cedido;

            double creditos_del_ejercicio;

            double total_creditos_disponibles;       

            if (request.getParameter("monto_cedido").equals(""))

                monto_cedido = 0;

            else

                monto_cedido = Double.parseDouble(request.getParameter("monto_cedido"));   

            if (request.getParameter("creditos_del_ejercicio").equals(""))

                creditos_del_ejercicio = 0;

            else

                creditos_del_ejercicio = Double.parseDouble(request.getParameter("creditos_del_ejercicio"));                   

            if (request.getParameter("total_creditos_disponibles").equals(""))

                total_creditos_disponibles = 0;

            else

                total_creditos_disponibles = Double.parseDouble(request.getParameter("total_creditos_disponibles"));                   

            String cadena = "insert into s7_9_Inventario_Cesion (rif_cedente, nombre_cedente, rif_cesionario, nombre_cesionario, numero_escri_notif, fecha_escri_notif, fecha_contrat_cesion, monto_cedido, tributo_orig_credito_fiscal, periodo_orig_credito_fiscal, numero_declaracion_credito_fiscal, fecha_declaracion_credito_fiscal, creditos_del_ejercicio, total_creditos_disponibles, status_creditos, mes, ano, citranscriptor, Observaciones) values ( '"+ request.getParameter("rif_cedente") +"', '"+ request.getParameter("nombre_cedente") +"', '"+ request.getParameter("rif_cesionario") +"', '"+ request.getParameter("nombre_cesionario") +"', '"+ request.getParameter("numero_escri_notif") +"', '"+ request.getParameter("fecha_escri_notif") +"', '"+ request.getParameter("fecha_contrat_cesion") +"', "+ (monto_cedido) +", '"+ request.getParameter("tributo_orig_credito_fiscal") +"', '"+ request.getParameter("periodo_orig_credito_fiscal") +"', " +

            "'"+ request.getParameter("numero_declaracion_credito_fiscal") +"', '"+ request.getParameter("fecha_declaracion_credito_fiscal") +"', "+ (creditos_del_ejercicio) +", "+ (total_creditos_disponibles) +", '"+ request.getParameter("status_creditos") +"', '"+ session.getAttribute("Mes") +"', '"+ session.getAttribute("Ano") +"', '"+ session.getAttribute("Ced") +"', '"+ request.getParameter("observacion") +"')";

            stmt.execute(cadena);

            stmt.close();

            stmt=null;

            out.print("<span class='Estilo7'>La información se almacenó satisfactoriamente...</span>");

            response.sendRedirect("Siger_Recaudacion_7_9.jsp");

        }

        else {

            out.print("<span class='Estilo7'>No se pudo almacenar la información debido a la existencia de algun campo vacio...</span>");

        }

    }

    /*catch (NumberFormatException e0) {

        out.println("<span class='Estilo7'>Error! No utilice COMAS (,), ni PUNTOS (.) para los numeros introducidos, en su lugar redondee el numero y vualva a intentar registrar la misma informacion tomando en cuenta esta salvedad!</span>");

    } */

    catch (SQLException e1) {

        out.print("<span class='Estilo7'>Se presentó un error! es posible que este tratando de introducir un registro duplicado..." + e1.toString() + "</span>");

    }

    catch (Exception e){

        out.print(e.toString());

    }

    finally {        

    }

%>

/*************


1 Respuesta

0 votos
por (8.5k puntos)
monto_cedido = Double.parseDouble(request.getParameter(&quot;monto_cedido&quot;));

¿Que string le esta llegando aquí? la función parseDouble necesita un número en formato: 35.06 para realizar la conversión correctamente.

Si le llega un 35,06 por ejemplo, produce un excepción.


Preguntas relacionadas

0 votos
0 respuestas
0 votos
1 respuesta
0 votos
1 respuesta
+1 voto
1 respuesta
preguntado por thonyyyy.1.1993 (30 puntos) Ene 28, 2016 en Java EE
0 votos
0 respuestas
Bienvenido a Dudas de Programación, donde puedes hacer preguntas y recibir respuestas sobre los problemas más frecuentes de los lenguajes de programación, frameworks de desarrollo y bases de datos que utilices. Foro de Línea de Código

Categorías

...