Heim > Backend-Entwicklung > C++ > Wie rufe ich automatisch generierte IDs nach einem SQL INSERT in C# ab?

Wie rufe ich automatisch generierte IDs nach einem SQL INSERT in C# ab?

DDD
Freigeben: 2025-01-17 21:56:11
Original
380 Leute haben es durchsucht

How to Retrieve Auto-Generated IDs After an SQL INSERT in C#?

Abrufen automatisch generierter IDs nach SQL INSERT in C#

Dieser Artikel befasst sich mit einer häufigen Herausforderung bei der C#-Programmierung: dem effizienten Abrufen der automatisch generierten ID nach dem Einfügen eines neuen Datensatzes in eine SQL Server-Datenbank. Wir werden verschiedene Methoden untersuchen und ihre Kompatibilität mit verschiedenen SQL Server-Versionen hervorheben.

Stellen Sie sich vor, Sie fügen Daten in eine Tabelle mit dem Namen „Mem_Basic“ ein und benötigen die neu generierte „ID“:

<code class="language-csharp">public class MemberBasicData
{
    public int Id { get; set; }
    public string Mem_NA { get; set; }
    public string Mem_Occ { get; set; }     
}

public int CreateNewMember(string Mem_NA, string Mem_Occ )
{
    // ... (code to be added)
}</code>
Nach dem Login kopieren

Eine Methode verwendet ExecuteScalar(), aber dies ist nicht immer zuverlässig in allen SQL Server-Versionen:

<code class="language-csharp">int modified =(int)cmd.ExecuteScalar(); //Potentially unreliable in older SQL Server versions</code>
Nach dem Login kopieren

Für SQL Server 2005 und höher bietet die OUTPUT-Klausel eine robuste Lösung:

<code class="language-csharp">using(SqlCommand cmd=new SqlCommand("INSERT INTO Mem_Basic(Mem_Na,Mem_Occ) OUTPUT INSERTED.ID VALUES(@na,@occ)",con))
{
    // ... (rest of the code) 
}</code>
Nach dem Login kopieren

Für ältere SQL Server-Versionen (vor 2005) bietet SCOPE_IDENTITY() jedoch eine zuverlässige Alternative:

<code class="language-csharp">using(SqlCommand cmd=new SqlCommand("INSERT INTO Mem_Basic(Mem_Na,Mem_Occ)  VALUES(@na,@occ);SELECT SCOPE_IDENTITY();",con))
{
    // ... (rest of the code) 
}</code>
Nach dem Login kopieren

Diese Methoden stellen sicher, dass Entwickler die automatisch generierte ID nach einem SQL-INSERT-Vorgang konsistent abrufen können, wodurch die Datenverwaltung in C#-Anwendungen verbessert wird.

Das obige ist der detaillierte Inhalt vonWie rufe ich automatisch generierte IDs nach einem SQL INSERT 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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage