Accès aux valeurs des paramètres de sortie à l'aide d'ADO.NET
Les procédures stockées ADO.NET utilisent souvent des paramètres de sortie pour renvoyer les données résultant de l'exécution de la procédure. Ce guide détaille comment récupérer ces valeurs.
Le processus implique ces étapes clés :
Définissez l'objet SqlParameter
: Créez une instance SqlParameter
, en spécifiant le nom du paramètre, le type de données et, surtout, en définissant sa propriété Direction
sur ParameterDirection.Output
.
Ajouter le SqlParameter
au SqlCommand
: Ajoutez le SqlParameter
nouvellement créé à la collection SqlCommand
du Parameters
. Cela rend le paramètre accessible à la procédure stockée.
Exécutez la procédure stockée : Exécutez le SqlCommand
. Cette action met à jour le paramètre de sortie avec la valeur générée par la procédure stockée.
Récupérer la valeur de sortie : Après exécution, accédez à la valeur du paramètre de sortie via la propriété Value
de l'objet SqlParameter
. N'oubliez pas de convertir la valeur récupérée dans le type de données approprié.
Exemple illustratif :
<code class="language-csharp">using (SqlConnection conn = new SqlConnection(connectionString)) using (SqlCommand cmd = new SqlCommand("sproc", conn)) { // Define output parameter (@ID, int type) SqlParameter outputIdParam = new SqlParameter("@ID", SqlDbType.Int) { Direction = ParameterDirection.Output }; cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.Add(outputIdParam); conn.Open(); cmd.ExecuteNonQuery(); int id = (int)outputIdParam.Value; // Cast to int conn.Close(); }</code>
Considérations importantes :
Assurez-vous que le SqlDbType
dans votre SqlParameter
correspond précisément au type de données du paramètre de sortie de la base de données. Gérez les valeurs null
potentielles de manière appropriée, peut-être en utilisant des types nullables (int?
) ou l'opérateur de fusion nulle (??
).
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!