Home > Database > Mysql Tutorial > How to Retrieve the Inserted ID After an SQL INSERT Command in C#?

How to Retrieve the Inserted ID After an SQL INSERT Command in C#?

Linda Hamilton
Release: 2025-01-17 01:36:09
Original
659 people have browsed it

How to Retrieve the Inserted ID After an SQL INSERT Command in C#?

Retrieving Auto-Generated IDs After SQL INSERT in C#

When adding data to a SQL Server table via C#, obtaining the automatically generated ID of the new entry is a common requirement. This tutorial demonstrates two methods: using the OUTPUT clause (SQL Server 2005 and later) and the SCOPE_IDENTITY() function (older versions).

Method 1: OUTPUT Clause (SQL Server 2005 and later)

The OUTPUT clause provides a direct way to specify the column containing the ID:

<code class="language-csharp">using (SqlCommand cmd = new SqlCommand("INSERT INTO Mem_Basic(Mem_Na,Mem_Occ) OUTPUT INSERTED.ID VALUES(@na,@occ)", con))</code>
Copy after login

Here, INSERTED.ID in the OUTPUT clause returns the ID of the newly inserted row.

Method 2: SCOPE_IDENTITY() Function (Older SQL Server Versions)

For older SQL Server versions, SCOPE_IDENTITY() retrieves the ID of the most recently inserted row within the current scope:

<code class="language-csharp">using (SqlCommand cmd = new SqlCommand("INSERT INTO Mem_Basic(Mem_Na,Mem_Occ) VALUES(@na,@occ); SELECT SCOPE_IDENTITY();", con))</code>
Copy after login

This query inserts the data and then uses SCOPE_IDENTITY() in a separate SELECT statement to get the ID.

Accessing the ID

In both methods, the generated ID is accessed using ExecuteScalar() and type casting:

<code class="language-csharp">int newId = (int)cmd.ExecuteScalar();</code>
Copy after login

This technique ensures efficient retrieval of the newly inserted record's ID, offering compatibility across different SQL Server versions.

The above is the detailed content of How to Retrieve the Inserted ID After an SQL INSERT Command 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