none
ASP.NET ¿Como ejecutar un procedimiento almacenado desde JavaScript? RRS feed

  • Pregunta

  • Hola, estoy desarrollando una aplicación en ASP.NET, y lo que requiero es llamar un procedimiento almacenado en oracle desde JavaScript

    Cuando la pagina sea cerrada por el usuario en la X .

    Se manda llamar el procedimiento almacenado en oracle de la siguiente manera:

    <body style="height: 1013px" onunload="EjecutaProcedimiento()">

    el procedimiento que llama esta una clase llamada DML

    static public void DESBLOQUEO(OracleConnection con, string MUN1, string SOL1)
        {
            using (OracleCommand cmd = new OracleCommand())
            {
                cmd.Connection = con;
                cmd.CommandText = "DML.DESBLOQUEO";
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.Add("MUN1", OracleDbType.Int32).Value = Int32.Parse(MUN1);
                cmd.Parameters.Add("SOL1", OracleDbType.Int32).Value = Int32.Parse(SOL1);
                cmd.ExecuteNonQuery();
            }
        }

    ya lo probé y funciona correctamente, en donde con es la conexion, MUN1 y SOL1 son valores que los toma de dos textbox de la página actual. 

    y lo que requiero es saber como mandarlo llamar desde la función de JavaScript:

           

     function EjecutaProcedimiento()

    {
        Desde aquí quiero llamar el procedimiento que no devuelve nada solo se ejecuta con los parámetros anteriormente mencionados
    }

    ¿Alguien sabe como lograr esto en ASP.NET usando JavaScript u otra tecnología?

    De antemano gracias por la información.

    saludos.

      ManoloT

     

    jueves, 29 de noviembre de 2018 20:14

Respuestas

  • Hola, te mando un ejemplo de como lo hago yo....Muestro un gráfico pero el contenido de dicho gráfico lo cargo con C#

    <script type="text/javascript">
                function graficoTorta() {
                    var chart = new CanvasJS.Chart("graficotorta",
                        {
                            title: {
                                text: "Excesos de Aceleración"
                            },
                            legend: {
                                maxWidth: 1150,
                                itemWidth: 320
                            },
                            data: [
                                {
                                    type: "doughnut",
                                    showInLegend: true,
                                    legendText: "{indexLabel}",
                                    dataPoints: [
    				<% /* Con <% abro código C# */
                bool prim = false;
                foreach (GridViewRow row in DgvDatos.Rows)
                {
                    if (prim == false)
                    {
                        prim = true;
                        continue;
                    }
                    if (row.Cells[0].Text == "Total Aceleraciones Bruscas del Periodo")
                    {
                        break;
                    }
                    Session["label1"] = row.Cells[1].Text.ToString(); ////FECHA
                    Session["y1"] = row.Cells[2].Text.ToString(); ////CANTIDAD
                %>
                                        { y: <% Response.Write(Session["y1"].ToString()); %>, indexLabel: '<% Response.Write(Session["label1"].ToString()); %>' },
                <%
                }  %>
                                    ]
                                }
                            ]
                        });
                    chart.render();
                }
            </script>

    Cómo verás, la data del gráfico la cargo a través de un recorrido a un GridView con C#...Tú, deberías hacer lo mismo, en vez de hacer un foreach, harías una consulta de ejecución a un SP.

    Saludos


    jueves, 29 de noviembre de 2018 20:19