Recupero prossimo indice in tebella

venerdì 13 giugno 2014 - 11.20
Tag Elenco Tags  VB.NET  |  .NET 4.0  |  Windows 7  |  Visual Studio 2010  |  SQL Server 2008 R2

zolamia Profilo | Newbie

Salve spero possiate aiutarmi,
sto finendo un form in vb.net dove serve recuperare il prossimo indice in un tabella (sql server) come posso fare?
Esempio:
attualmente ho
id cliente 1 -- nome xy -- nato xy
il successivo dovrebbe essere 2 ma se cancello il due il prossimo sarà il 3 e non il due quindi mi serve una funzione che da vb mi ricavi il prossimo indice che verrà registrato.

grazie mille

:::...Truly madly deeply...:::

0v3rCl0ck Profilo | Guru

lo puoi fare, ci sono funzioni sql che ti restituiscono a che punto è un id, ma è una cosa che non si fa mai se non per consultazione e basta, perchè non sarà mai certo che poi ti venga assegnato proprio quell'id! Se la colonna è un auto-identity, devi inserire e solo dopo sai qual'è l'id assegnato, se usi entity ci pensa lui, se lo fai con ado.net di solito uso stored procedure, per impostare un paramentro con l'id generato, oppure se usi un comando di insert diretto, devi aggiungere un select @@scope_identity() dopo la insert nello stesso comando, e poi fare un executescalar, invece che un semplice executenonquery:

http://www.mikesdotnetting.com/Article/54/Getting-the-identity-of-the-most-recently-added-record


Michael Denny | Visual C# MVP
http://blogs.dotnethell.it/Regulator/
http://dennymichael.wordpress.com
http://mvp.microsoft.com/mvp/Michael%20Denny-5000735
Twitter: @dennymic
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5