none
Ejecutar Stored Procedure desde c# RRS feed

  • Pregunta

  • Buenas noches,

    Estoy desarrollando una aplicación con Windows forms, en estos suelo ejecutar stored procedure de sql server, mi pregunta es: ¿Los stored procedured los puedo ejecutar via sqlcommand y función executenonequery? o hay alguna forma especial para ejecutar éstos desde Windows forms?

    Lo que actualmente hago es esto:

                    try
                    {
                        using (cnn = new SqlConnection(ConfigurationManager.ConnectionStrings["Proyecto_MP.Properties.Settings.MIBDConnectionString"].ToString()))
                        {
                            cnn.Open();
                            string query = "Exec MiStoredProcedured";
                            cmd = new SqlCommand(query, cnn);
                            cmd.ExecuteNonQuery();
                            cnn.Close();
                        }
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show(ex.Message);
                    }

    ¿Es correcto hacer esto o hay algún tratamiento especial para ejecutar los stored procedured desde c#?


    Carlos Márquez


    • Editado Carlos Márquez viernes, 29 de noviembre de 2013 22:42 ortografía
    viernes, 29 de noviembre de 2013 4:17

Respuestas

  • >>¿Los stored procedured los puedo ejecutar via sqlcommand y función executenonequery?

    claro que puedes, yo uso esta estructura

    using (SqlConnection conn = new SqlConnection("connectionstring")) {

    conn.Open(); SqlCommand cmd = new SqlCommand("<storedprocedure>", conn); cmd.CommandType = SqlCommandType.StoredProcedure; cmd.Parameters.AddWithValue("@param1", valor); cmd.ExecuteNonQuery(); }


    lo importante es lo que maco en negrita, es en esa linea donde indicas que tipo de query vas a ejecutar

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina


    viernes, 29 de noviembre de 2013 9:43

Todas las respuestas

  • Hola,

    Prueba con algo de este estilo para realizar la llamada:

    using (var conn = new SqlConnection(connectionString))
    using (var command = new SqlCommand("MiStoredProcedure", conn) { 
                               CommandType = CommandType.StoredProcedure }) {
       conn.Open();
       command.ExecuteNonQuery();
       conn.Close();
    } 

    Saludos.


    Please remember to Vote & "Mark As Answer" if this post is helpful to you.
    Por favor, recuerda Votar y "Marcar como respuesta" si la solución de esta pregunta te ha sido útil.

    viernes, 29 de noviembre de 2013 8:09
  • >>¿Los stored procedured los puedo ejecutar via sqlcommand y función executenonequery?

    claro que puedes, yo uso esta estructura

    using (SqlConnection conn = new SqlConnection("connectionstring")) {

    conn.Open(); SqlCommand cmd = new SqlCommand("<storedprocedure>", conn); cmd.CommandType = SqlCommandType.StoredProcedure; cmd.Parameters.AddWithValue("@param1", valor); cmd.ExecuteNonQuery(); }


    lo importante es lo que maco en negrita, es en esa linea donde indicas que tipo de query vas a ejecutar

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina


    viernes, 29 de noviembre de 2013 9:43
  • Hola, Tuttini.

    Y para controlar las excepciones del stored procedure, si es que las hay, igual se controlan vía bloques try/catch?


    Carlos Márquez

    viernes, 29 de noviembre de 2013 22:43
  • >>igual se controlan vía bloques try/catch?

    exacto eso no cambia, puedes seguir controlando el Exceptio o el SqlException d ela misma forma


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    viernes, 29 de noviembre de 2013 22:49