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
Libérer: 2025-01-20 01:21:09
original
988 Les gens l'ont consulté

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 :

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;
}
Copier après la connexion

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 de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal