Ejecutar procedimiento almacenado con parámetros en C#
En esta guía, aprenderá cómo puede ejecutar/llamar a un procedimiento almacenado con parámetros en C#, lo que significa cómo puede pasar un parámetro dentro de un procedimiento almacenado.
Aprenderá todo de principio a fin en esta guía compacta. ¡Vamos a sumergirnos!
Ejecutar un Procedimiento Almacenado con Parámetros en C#
Para comprender cómo puede llamar a un procedimiento almacenado con parámetros en C#, debe comprender todos los conceptos básicos relacionados con los procedimientos almacenados.
¿Qué son y para qué se utilizan? ¿Cuáles son sus ventajas? ¿Cómo los creas y modificas?
Procedimientos almacenados en C#
Una colección de instrucciones Transact-SQL reunidas en un solo plan de ejecución es un procedimiento almacenado. Los servidores de bases de datos usan bloques de código llamados procedimientos almacenados; es una entidad precompilada que se compila una vez y se puede usar repetidamente.
Una serie de sentencias SQL puede ejecutarse secuencialmente con un procedimiento almacenado. Debemos emplear parámetros de procedimiento para ofrecer datos al proceso.
Los procedimientos almacenados utilizan el concepto de asignación de parámetros. Los nombres, tipos y direcciones de los parámetros del front-end y del procedimiento deben coincidir, y la longitud del parámetro del front-end debe ser menor o igual que la longitud del parámetro del procedimiento (que solo puede asignar parámetros).
Utilizamos la instrucción return
para devolver cualquier valor de un procedimiento.
Por qué usamos procedimientos almacenados en C#
Para acceder a sus datos desde una base de datos, normalmente crea consultas SQL como seleccionar
, insertar
y actualizar
. Tiene sentido convertir una consulta en un procedimiento almacenado si utiliza con frecuencia la misma consulta.
Cada vez que escribe una consulta, la base de datos la analiza. Si ha creado un procedimiento almacenado para él, se puede ejecutar N veces después de analizarlo solo una vez.
El rendimiento también se puede mejorar a través de rutinas almacenadas. Un procedimiento almacenado, un solo bloque de ejecución en el servidor de la base de datos, contiene toda la lógica condicional.
Ejecutar procedimiento almacenado con parámetros en C#: ejemplo de código
Los siguientes son los pasos para ejecutar el procedimiento almacenado con parámetros en C#:
-
Lo primero que debe hacer es agregar
using System.Data.SqlClient;
yusando System.Data;
bibliotecas justo encima del programa. Estos le permitirán crear un procedimiento almacenado en un programa C#. -
En el siguiente ejemplo de código, comenzamos a crear el procedimiento almacenado pasando la ruta de la base de datos a una cadena.
-
Después de eso, usamos el método
using()
para crear el objetoConexión
con
y pasamos la cadena de ruta dentro. -
Necesitamos hacer un objeto del
SqlCommand
. Podemos usar este objeto para utilizar propiedades de comandos SQL, comoConnection
. -
Después de eso, debemos especificar el tipo de comando como
StoredProcedure
. -
Para crear un procedimiento almacenado con parámetros, debemos crear un objeto de
SqlParameter
y usar ese objeto para definir el nombre, el tipo de datos y el valor del parámetro que queremos pasar. -
Lo siguiente que tenemos que hacer es darle dirección. Podemos usarlo como entrada, salida o ambos.
-
Ahora, usando
AddWithValue()
, pase el objeto de parámetro que creó anteriormente. -
Tenga en cuenta que todo esto debe hacerse dentro del bloque
try-catch
. Puede haber errores al obtener los datos que deben capturarse dentro del bloquecatch
.
Código de ejemplo:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data.SqlClient;
using System.Data;
namespace Stored_procedure {
internal class Program {
static void Main(string[] args) {
// connection with sql
try {
// string for connection information
string con_str = "pass your connection path/information";
// create connection
using (SqlConnection con = new SqlConnection(con_str)) {
// create sqlcommand object
SqlCommand cmd = new SqlCommand();
cmd.CommandText = "Write the name of your stored prcedure";
cmd.Connection = con;
// specify the command type
cmd.CommandType = CommandType.StoredProcedure;
// create object of sqlparameter class
SqlParameter param = new SqlParameter {
// set the name of parameter
ParameterName = "Write your parameter name",
// set the type of parameter
SqlDbType = SqlDbType.Int, Value = 2,
// you can specify the direction of parameter input/output/inputoutput
Direction = ParameterDirection.InputOutput
};
// adding parameter in command
cmd.Parameters.AddWithValue(param);
// open connection of db
con.Open();
// executing the query
cmd.ExecuteNonQuery();
}
} catch (Exception e) {
Console.WriteLine(e.Message);
}
}
}
}
Haider specializes in technical writing. He has a solid background in computer science that allows him to create engaging, original, and compelling technical tutorials. In his free time, he enjoys adding new skills to his repertoire and watching Netflix.
LinkedIn