Heim > Datenbank > MySQL-Tutorial > Wie rufe ich die eingefügte ID nach einem SQL-INSERT-Befehl in C# ab?

Wie rufe ich die eingefügte ID nach einem SQL-INSERT-Befehl in C# ab?

Linda Hamilton
Freigeben: 2025-01-17 01:36:09
Original
660 Leute haben es durchsucht

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

Abrufen automatisch generierter IDs nach SQL INSERT in C#

Beim Hinzufügen von Daten zu einer SQL Server-Tabelle über C# ist das Abrufen der automatisch generierten ID des neuen Eintrags eine häufige Anforderung. In diesem Tutorial werden zwei Methoden demonstriert: die Verwendung der OUTPUT-Klausel (SQL Server 2005 und höher) und der SCOPE_IDENTITY()-Funktion (ältere Versionen).

Methode 1: OUTPUT Klausel (SQL Server 2005 und höher)

Die OUTPUT-Klausel bietet eine direkte Möglichkeit, die Spalte anzugeben, die die ID enthält:

<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>
Nach dem Login kopieren

Hier gibt INSERTED.ID in der OUTPUT-Klausel die ID der neu eingefügten Zeile zurück.

Methode 2: SCOPE_IDENTITY() Funktion (ältere SQL Server-Versionen)

Für ältere SQL Server-Versionen ruft SCOPE_IDENTITY() die ID der zuletzt eingefügten Zeile im aktuellen Bereich ab:

<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>
Nach dem Login kopieren

Diese Abfrage fügt die Daten ein und verwendet dann SCOPE_IDENTITY() in einer separaten SELECT-Anweisung, um die ID zu erhalten.

Zugriff auf die ID

Bei beiden Methoden wird auf die generierte ID mit ExecuteScalar() und Typumwandlung zugegriffen:

<code class="language-csharp">int newId = (int)cmd.ExecuteScalar();</code>
Nach dem Login kopieren

Diese Technik gewährleistet einen effizienten Abruf der neu eingefügten Datensatz-ID und bietet Kompatibilität zwischen verschiedenen SQL Server-Versionen.

Das obige ist der detaillierte Inhalt vonWie rufe ich die eingefügte ID nach einem SQL-INSERT-Befehl in C# ab?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage