229 messaggi dal 20 novembre 2014
Ciao a tutti, come da titolo: ho una tabella sql sulla cui chiave primaria ho settato identity con autoincrement, ho notato che avendo due record es: id=1,id=2 cancello il 2 e reinserisco e otterrò id=1; i=3.
Ho bisogno di prendere l'ultimo id inserito con precisione, qualcuno sa dirmi come fare? Io ho preso semplicemente il max degli id già presenti e l'ho incrementato di 1 ma ovviamente in questi casi non funziona. Nel mio esempio infatti otterrei 2!

Qualcuno mi da una mano?
Grazie anticipate
1 messaggio dal 08 novembre 2005
www.logicode.it
Con Microsoft SQL (anche MS JET) puoi usare:
SELECT @@IDENTITY
Ottieni l'ultimo id autoincrement inserito indipendentemente dalla tabella (quindi va richiamato subito dopo l'insert).
229 messaggi dal 20 novembre 2014
Grazie mille per la tua risposta, lavorando con linq come posso fare? Come mi restituisce il risultato? A me servirebbe in via preventiva della insert, ciò significa che dovrei tenere un campo sul db da aggiornare di volta in volta (ad ogni insert) per memorizzare l'id successivo? E quando cancello qualcosa cosa faccio per non far rimanere il buco?

Grazie
Modificato da clr4633 il 08 gennaio 2016 09.25 -

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.