Maison >développement back-end >C++ >Comment récupérer une valeur de retour d'une procédure stockée en C# à l'aide d'ADO.NET ?

Comment récupérer une valeur de retour d'une procédure stockée en C# à l'aide d'ADO.NET ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2025-01-20 01:21:09934parcourir

How to Retrieve a Return Value from a Stored Procedure in C# using ADO.NET?

Appeler une procédure stockée avec une valeur de retour en C#

Un besoin courant lors de l'accès à une base de données est d'appeler des procédures stockées à partir d'une application, en particulier celles qui renvoient des valeurs numériques. Cet article montre comment utiliser ADO.NET pour appeler une procédure stockée qui renvoie une valeur entière et récupérer le résultat dans une application C#.

Procédure stockée

Considérez la procédure stockée usp_GetNewSeqVal qui récupère la valeur suivante d'une séquence à partir d'un nom de séquence. Il reçoit le paramètre @SeqName en entrée et renvoie la nouvelle valeur de séquence.

Code C#

Afin d'appeler cette procédure stockée et de récupérer la valeur de retour, nous pouvons utiliser le code suivant :

<code class="language-csharp">using (SqlConnection conn = new SqlConnection(getConnectionString()))
using (SqlCommand cmd = conn.CreateCommand())
{
    cmd.CommandText = parameterStatement.getQuery();
    cmd.CommandType = CommandType.StoredProcedure;
    cmd.Parameters.AddWithValue("@SeqName", "SeqNameValue");

    // @ReturnVal 可以是任何名称
    var returnParameter = cmd.Parameters.Add("@ReturnVal", SqlDbType.Int);
    returnParameter.Direction = ParameterDirection.ReturnValue;

    conn.Open();
    cmd.ExecuteNonQuery();
    var result = returnParameter.Value;
}</code>

Détails clés

  • SqlCommand Configurez avec le texte et le type de commande corrects.
  • Des
  • Paramètres d'entrée@SeqName sont ajoutés à la commande.
  • Ajoutez un nouveau paramètre @ReturnVal avec sa direction définie sur ParameterDirection.ReturnValue. Cela demande à la commande de créer une variable dans la procédure stockée et de lui attribuer la valeur de retour.
  • La connexion est ouverte et la requête est exécutée à l'aide de ExecuteNonQuery.
  • Enfin, la valeur de retour peut être récupérée à partir de l'attribut returnParameter.Value.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn