Exécuter une procédure stockée avec des paramètres en C#

Haider Ali 12 octobre 2023
Exécuter une procédure stockée avec des paramètres en C#

Dans ce guide, vous apprendrez comment exécuter/appeler une procédure stockée avec des paramètres en C#, c’est-à-dire comment passer un paramètre dans une procédure stockée.

Vous apprendrez tout de haut en bas dans ce guide compact. Plongeons-nous !

Exécuter une procédure stockée avec des paramètres en C#

Pour comprendre comment vous pouvez appeler une procédure stockée avec des paramètres en C#, vous devez comprendre toutes les bases concernant les procédures stockées.

Quels sont-ils et dans quel but sont-ils utilisés ? Quels sont leurs avantages ? Comment les créer et les modifier ?

Procédures stockées en C#

Une collection d’instructions Transact-SQL assemblées dans un seul plan d’exécution est une procédure stockée. Les serveurs de base de données utilisent des blocs de code appelés procédures stockées ; c’est une entité pré-compilée qui est compilée une fois et qui peut être utilisée à plusieurs reprises.

Une série d’instructions SQL peut s’exécuter séquentiellement avec une procédure stockée. Nous devons employer des paramètres de procédure pour offrir des données au processus.

Les procédures stockées utilisent le concept de mappage de paramètres. Les noms, types et directions des paramètres du frontal et de la procédure doivent correspondre, et la longueur du paramètre du frontal doit être inférieure ou égale à la longueur du paramètre de la procédure (qui ne peut mapper que des paramètres).

Nous utilisons l’instruction return pour renvoyer n’importe quelle valeur d’une procédure.

Pourquoi utilisons-nous des procédures stockées en C#

Pour accéder à vos données à partir d’une base de données, vous créez généralement des requêtes SQL telles que select, insert et update. Il est logique de convertir une requête en procédure stockée si vous utilisez fréquemment la même requête.

Chaque fois que vous écrivez une requête, la base de données l’analyse. Si vous avez créé une procédure stockée pour cela, elle peut être exécutée N fois après avoir été analysée une seule fois.

Les performances peuvent également être améliorées via des routines stockées. Une procédure stockée, un seul bloc d’exécution sur le serveur de base de données, contient toute la logique conditionnelle.

Exécuter une procédure stockée avec des paramètres en C# : exemple de code

Voici les étapes pour exécuter la procédure stockée avec des paramètres en C# :

  • La première chose que vous devez faire est d’ajouter le using System.Data.SqlClient; et en utilisant System.Data ; bibliothèques juste au-dessus du programme. Ceux-ci vous permettront de créer une procédure stockée dans un programme C#.
  • Dans l’exemple de code ci-dessous, nous commençons à créer la procédure stockée en passant le chemin de la base de données dans une chaîne.
  • Après cela, nous avons utilisé la méthode using() pour créer l’objet Connection con et avons passé la chaîne de chemin à l’intérieur.
  • Nous devons faire un objet de la SqlCommand. Nous pouvons utiliser cet objet pour utiliser les propriétés de la commande SQL, telles que Connection.
  • Après cela, nous devons spécifier le type de commande comme StoredProcedure.
  • Pour créer une procédure stockée avec des paramètres, nous devons créer un objet SqlParameter et utiliser cet objet pour définir le nom, le type de données et la valeur du paramètre que nous voulons transmettre.
  • La prochaine chose que nous devons faire est de lui donner une direction. Nous pouvons soit l’utiliser comme entrée, sortie ou les deux.
  • Maintenant, en utilisant AddWithValue(), passez l’objet paramètre que vous avez créé précédemment.
  • Gardez à l’esprit que tout cela doit être fait à l’intérieur du bloc try-catch. Il peut y avoir des erreurs lors de la récupération des données qui doivent être capturées à l’intérieur du bloc catch.

Exemple de code :

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);
      }
    }
  }
}
Auteur: Haider Ali
Haider Ali avatar Haider Ali avatar

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