Heim > Datenbank > MySQL-Tutorial > Wie rufe ich die ID einer eingefügten Zeile mit C# ab?

Wie rufe ich die ID einer eingefügten Zeile mit C# ab?

DDD
Freigeben: 2024-11-07 18:49:03
Original
901 Leute haben es durchsucht

How to Retrieve the ID of an Inserted Row using C#?

Abrufen des Bezeichners einer eingefügten Zeile mit C#

In einer Datenbanktabelle, die ein automatisch inkrementiertes „ID“-Feld enthält, wird die ID abgerufen einer kürzlich eingefügten Zeile erweist sich als wiederkehrende Aufgabe. Dies ist besonders wichtig für nachfolgende Vorgänge, die von der ID abhängig sind.

In Ihrem Fall hat der abgerufene ID-Wert trotz der Ausführung eines Einfügebefehls durchweg Null zurückgegeben. Diese Diskrepanz entsteht durch die Verwendung von ExecuteScalar, das die erste Spalte der ersten vom Befehl zurückgegebenen Zeile abruft. Da keine bestimmte Spalte projiziert wird, wird der Wert am ersten Index abgerufen. Allerdings werden automatisch inkrementierte IDs im Allgemeinen nach dem Einfügen des Befehls generiert, was dazu führt, dass die ID-Spalte zunächst nichts enthält.

Um dieses Problem zu beheben, sollten Sie Ihren Code wie folgt ändern:

MySqlCommand comm = connect.CreateCommand();
comm.CommandText = insertStatement;  // Set the insert statement
comm.ExecuteNonQuery();              // Execute the command
long id = comm.LastInsertedId;       // Get the ID of the inserted item
Nach dem Login kopieren

Der entscheidende Unterschied liegt in der Verwendung von ExecuteNonQuery, das gezielt die Einfügeanweisung ausführt, ohne einen Wert zurückzugeben. Anschließend ruft der Aufruf von LastInsertedId den generierten ID-Wert direkt ab.

Dieser Ansatz entspricht der Anforderung, die automatisch inkrementierte ID abzurufen, wodurch das bei ExecuteScalar auftretende Problem beseitigt wird.

Das obige ist der detaillierte Inhalt vonWie rufe ich die ID einer eingefügten Zeile mit C# ab?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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