Maison >développement back-end >C++ >Comment récupérer les paramètres de sortie des procédures stockées SQL Server en C# ?
Utilisation des paramètres de sortie de procédure stockée en C#
Lors de la récupération de données d'une procédure stockée SQL Server, vous devez souvent accéder aux paramètres de sortie de la procédure stockée en code C#. Cependant, comprendre comment y parvenir efficacement peut être un défi.
Considérons une procédure stockée nommée usp_InsertContract
qui insère de nouveaux enregistrements dans la table Contracts
et renvoie la clé primaire attribuée comme paramètre de sortie :
<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 = Id From [dbo].[Contracts] where ContractNumber = @ContractNumber END</code>
Pour exécuter cette procédure stockée en C#, vous pouvez utiliser l'extrait de code suivant :
<code class="language-csharp">using System.Data; using System.Data.SqlClient; public class StoredProcedureOutputParameterExample { public static void Main() { // 定义连接字符串并初始化连接。 string connectionString = "Server=localhost;Database=MyDatabase;User Id=sa;Password=mypassword;"; using (SqlConnection connection = new SqlConnection(connectionString)) { // 创建命令对象。 using (SqlCommand command = new SqlCommand("usp_InsertContract", connection)) { // 将命令类型设置为StoredProcedure。 command.CommandType = CommandType.StoredProcedure; // 向命令添加输入参数。 command.Parameters.Add(new SqlParameter("@ContractNumber", SqlDbType.VarChar, 7) { Value = "ABC123" }); // 向命令添加输出参数。 SqlParameter newIdParameter = new SqlParameter("@NewId", SqlDbType.Int) { Direction = ParameterDirection.Output }; command.Parameters.Add(newIdParameter); // 打开连接并执行命令。 connection.Open(); command.ExecuteNonQuery(); // 检索输出参数值。 int newId = (int)newIdParameter.Value; // 使用输出参数值。 Console.WriteLine($"New ID: {newId}"); } } } }</code>
Dans cet extrait de code, les objets SqlConnection
et SqlCommand
sont utilisés pour établir une connexion à la base de données et exécuter la procédure stockée. Ajoutez le paramètre d'entrée @ContractNumber
à la commande, créez un paramètre de sortie @NewId
et définissez son attribut Direction
sur ParameterDirection.Output
.
Après l'exécution de la procédure stockée, la valeur du paramètre de sortie peut être récupérée à l'aide de l'attribut Value
du paramètre. La valeur récupérée peut ensuite être utilisée dans le code C#.
En suivant ces étapes, vous pouvez utiliser efficacement les paramètres de sortie de procédure stockée dans le code C# pour récupérer les données d'une procédure stockée SQL Server.
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!