Maison > développement back-end > C++ > Comment récupérer une clé primaire à partir du paramètre de sortie d'une procédure stockée en C# ?

Comment récupérer une clé primaire à partir du paramètre de sortie d'une procédure stockée en C# ?

Linda Hamilton
Libérer: 2025-01-10 08:45:42
original
567 Les gens l'ont consulté

How to Retrieve a Primary Key from a Stored Procedure's Output Parameter in C#?

Utilisation des paramètres de sortie de procédure stockée en C#

Lors de la récupération de données à partir d'une procédure stockée, vous devez souvent accéder aux paramètres de sortie pour obtenir des informations supplémentaires. Dans cet exemple, un programme C# rencontre des problèmes en essayant de récupérer la clé primaire renvoyée par la procédure stockée usp_InsertContract.

La procédure stockée est légèrement modifiée pour utiliser SCOPE_IDENTITY(), comme indiqué ci-dessous :

<code class="language-sql">CREATE PROCEDURE usp_InsertContract
(
    @ContractNumber varchar(7),
    @NewId int OUTPUT
)
AS
BEGIN
    INSERT INTO [dbo].[Contracts] (ContractNumber)
    VALUES (@ContractNumber)

    SELECT @NewId = SCOPE_IDENTITY()
END</code>
Copier après la connexion

Le code C# a également été ajusté pour récupérer correctement la valeur de sortie :

<code class="language-csharp">// 打开连接并执行存储过程
conn.Open();
cmd.ExecuteNonQuery();

// 从@NewId读取输出值
int contractID = Convert.ToInt32(cmd.Parameters["@NewId"].Value);
conn.Close();</code>
Copier après la connexion

Cette modification devrait résoudre le problème en garantissant que la clé primaire est correctement renvoyée en paramètre de sortie et accessible dans le programme C#.

Remarque : assurez-vous de vérifier que la table Contrats contient des colonnes avec l'attribut IDENTITY configuré correctement. Les colonnes IDENTITY manquantes peuvent également rendre difficile l'obtention de la valeur de la clé primaire.

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!

source:php.cn
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