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 ?
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. @SeqName
sont ajoutés à la commande. @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. ExecuteNonQuery
. 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!