Benutzer mit den meisten Antworten
Wie die ID zu dem soeben eingefügtem Datensatz ermitteln?

Frage
-
Hallo,
ich schreibe aus einer kleinen VB.net Anwendung in eine SQL Server Tabelle mit einer ID Spalte (identity, auto-increment). Wie kann ich nach dem Hinzufügen sofort auch die erzeugte ID bekommen? Ich habe im Internet gelesen, dass es mit SELECT ... @@IDENTITY gehen soll. Aber gemäß dem Fall, dass > 1000 Leute damit arbeiten und Inserts durchführen, ist es 100% gewährleistet, dass auch immer die korrekte ID zurückliefert? Bzw. wie kann man das programmatisch sicherstellen?
gruß
yavuz
Best regards,
Yavuz B.
My Sharepoint and Enterprise 2.0 Blog http://www.starcoder.net | Microsoft Sharepoint Resources & Blogs List
Antworten
-
Hi,
das Problem kannst du auch per OUTPUT erledigen. Siehe. http://msdn.microsoft.com/de-de/library/ms177564.aspx
Grüße
Oliver
- Als Antwort vorgeschlagen Olaf HelperMVP Samstag, 25. Februar 2012 09:07
- Als Antwort markiert [Yavuz B.] Montag, 27. Februar 2012 07:43
Alle Antworten
-
Hi,
das Problem kannst du auch per OUTPUT erledigen. Siehe. http://msdn.microsoft.com/de-de/library/ms177564.aspx
Grüße
Oliver
- Als Antwort vorgeschlagen Olaf HelperMVP Samstag, 25. Februar 2012 09:07
- Als Antwort markiert [Yavuz B.] Montag, 27. Februar 2012 07:43
-
Hi,
bei SQL Server ist @@IDENTITY nicht das, was Du nehmen solltest. Hier wäre dann SELECT SCOPE_IDENTITY() das Mittel der Wahl.
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community -
Und wie verwendet man SELECT SCOPE_IDENTITY() bei einem INSERT beispielhaft? Könntest Du ein minimales code snippet dazu veröffentlichen oder pseudo code...
Best regards,
Yavuz B.
My Sharepoint and Enterprise 2.0 Blog http://www.starcoder.net | Microsoft Sharepoint Resources & Blogs List- Bearbeitet [Yavuz B.] Freitag, 24. Februar 2012 13:39
-
Yavuz,
ich rate ebenfalls von der Verwendung von SCOPE_IDENTITY() und @@IDENTITY ab.
Dies würde nur funktionieren, wenn Du immer nur einen Datensatz einträgst. Mit der von Oliver vorgeschlagenen Methode (OUTPUT) kannst Du satz-orientiert mehrere Datensätze eintragen und für jeden die ID verwenden, was generell der sinnvollere Ansatz ist.
MfG, Lutz
- Als Antwort vorgeschlagen Olaf HelperMVP Samstag, 25. Februar 2012 09:07