Home > Backend Development > C++ > How to Retrieve a Primary Key from a Stored Procedure's Output Parameter in C#?

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

Linda Hamilton
Release: 2025-01-10 08:45:42
Original
563 people have browsed it

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

Using stored procedure output parameters in C#

When retrieving data from a stored procedure, you often need to access output parameters to obtain additional information. In this example, a C# program encounters problems while trying to retrieve the primary key returned by the usp_InsertContract stored procedure.

The stored procedure is slightly modified to use SCOPE_IDENTITY(), as shown below:

<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>
Copy after login

The C# code has also been adjusted to correctly retrieve the output value:

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

// 从@NewId读取输出值
int contractID = Convert.ToInt32(cmd.Parameters["@NewId"].Value);
conn.Close();</code>
Copy after login

This modification should solve the problem by ensuring that the primary key is correctly returned as an output parameter and accessible in the C# program.

Note: Be sure to verify that the Contracts table has columns with the IDENTITY attribute configured correctly. Missing IDENTITY columns may also make it difficult to obtain the primary key value.

The above is the detailed content of How to Retrieve a Primary Key from a Stored Procedure's Output Parameter in C#?. For more information, please follow other related articles on the PHP Chinese website!

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Articles by Author
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template