webForumDet fria alternativet

Få tillbaka ID från databasen?

.NET

4 svar · 386 visningar · startad av inspiro

Medlem sedan sep. 2005673 inlägg
Frågan#1

Hej! När jag lägger till en post (insert) i en tabell i min databas så genereras ett id. Visst finns det något sätt att direkt returnera tillbaka det id som den nyligen skapade posten fått och ta emot det i koden? Typ nåt sånt här:

int id = myCmd.ExecuteNonQuery();

Använder stored procedures och sql server express om det har betydelse!

Medlem sedan maj 2000194 inlägg
#2

Sök på SELECT IDENTITY här på wF och du må finna bra svar.

Medlem sedan maj 20012 812 inlägg
#3

Jag föreslår SCOPE_IDENTITY() istället för bara IDENTITY(). Det kommer ge ett "mer" korrekt id, om du blandar in triggers i dina INSERT statements.

- M

Medlem sedan sep. 2005673 inlägg
#4

Den returnerar bara 1 hela tiden. Jag har en räknare som är en "identity" i tabellen. Ska man bara skriva "SELECT @@IDENTITY SET NOCOUNT OFF" i storingen längst ned eller?

Medlem sedan sep. 2005673 inlägg
#5

Åh, jag gjorde ju en executenonquery() så det var ju inte så konstigt... med executescalar() fungerar det perfekt. Tack!

379 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
247 ms — hämta tråd, inlägg och bilagor (db)
128 ms — ändringar (db)