Maison >développement back-end >C++ >Comment récupérer la valeur de retour d'une procédure stockée en C# ?
Obtenir la valeur de retour de la procédure stockée en C#
Cet article décrit comment appeler une procédure stockée à partir d'une application Windows C# et obtenir sa valeur de retour. La procédure stockée usp_GetNewSeqVal
est utilisée pour générer de nouvelles valeurs de séquence. Même si vous avez consulté certaines solutions sur Internet, vous ne parvenez toujours pas à obtenir la valeur de retour.
Le problème est que le paramètre de direction ReturnValue
est absent de la commande. Pour résoudre ce problème, vous devez ajouter les paramètres suivants :
<code class="language-csharp">var returnParameter = cmd.Parameters.Add("@ReturnVal", SqlDbType.Int); returnParameter.Direction = ParameterDirection.ReturnValue;</code>
Définissez la direction du paramètre sur ParameterDirection.ReturnValue
demande à SqlCommand
de le déclarer comme variable et de lui attribuer la valeur de retour de la procédure stockée. Ceci est similaire à la syntaxe utilisée dans SQL (exec @ReturnValue = spMyProcedure...
).
En ajoutant ce paramètre, l'appel cmd.ExecuteReader()
exécutera la procédure stockée et stockera la valeur de retour dans returnParameter
. Vous pouvez ensuite y accéder en tant que returnParameter.Value
.
Voici le code avec les modifications nécessaires :
<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"); var returnParameter = cmd.Parameters.Add("@ReturnVal", SqlDbType.Int); returnParameter.Direction = ParameterDirection.ReturnValue; conn.Open(); cmd.ExecuteNonQuery(); var result = returnParameter.Value; }</code>
En effectuant cette modification, vous pourrez récupérer avec succès la valeur de retour de la procédure stockée.
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!