Maison > base de données > tutoriel mysql > Comment récupérer les valeurs de retour des procédures stockées en C# ?

Comment récupérer les valeurs de retour des procédures stockées en C# ?

Patricia Arquette
Libérer: 2025-01-06 02:55:39
original
434 Les gens l'ont consulté

How to Retrieve Return Values from Stored Procedures in C#?

Récupération des valeurs de retour des procédures stockées en C#

Cet article explique comment récupérer les valeurs de retour des procédures stockées en C#.

Considérons la procédure stockée suivante nommée "[dbo].[Validate]":

ALTER PROCEDURE [dbo].[Validate]
@a varchar(50),
@b varchar(50) output

AS

SET @Password = 
(SELECT Password
FROM dbo.tblUser
WHERE Login = @a)

RETURN @b
Copier après la connexion

Pour exécuter cette procédure stockée et récupérer la valeur de retour, vous pouvez utiliser le code suivant :

using System;
using System.Data;
using System.Data.SqlClient;

namespace StoredProcedureReturnValue
{
    class Program
    {
        static void Main(string[] args)
        {
            // Assuming you have a connection string defined in your app config
            string connectionString = System.Configuration.ConfigurationManager.ConnectionStrings["MyLocalSQLServer"].ConnectionString;

            // Create a connection and command object
            using (SqlConnection SqlConn = new SqlConnection(connectionString))
            using (SqlCommand sqlcomm = new SqlCommand("Validate", SqlConn))
            {
                // Specify the stored procedure
                sqlcomm.CommandType = CommandType.StoredProcedure;

                // Add input parameters
                SqlParameter inputParam = new SqlParameter("@a", SqlDbType.VarChar, 50);
                inputParam.Value = "myUsername";
                sqlcomm.Parameters.Add(inputParam);

                // Add an output parameter to receive the return value
                SqlParameter outputParam = new SqlParameter("@b", SqlDbType.VarChar, 50);
                outputParam.Direction = ParameterDirection.ReturnValue;
                sqlcomm.Parameters.Add(outputParam);

                // Open the connection and execute the stored procedure
                SqlConn.Open();
                sqlcomm.ExecuteNonQuery();

                // Retrieve the output value
                string returnValue = (string)outputParam.Value;

                // Do something with the return value
                Console.WriteLine($"Return value: {returnValue}");
            }
        }
    }
}
Copier après la connexion

Clé points à noter :

  • N'oubliez pas d'appeler ExecuteNonQuery() sur l'objet SqlCommand pour exécuter le stocké procédure.
  • La direction du paramètre de sortie doit être définie sur ReturnValue pour recevoir la valeur de retour.
  • Enfin, récupérez la valeur de retour de la propriété Value du paramètre de sortie.

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