Recuperare ID autonumber

lunedì 25 settembre 2006 - 12.29

guappa76 Profilo | Newbie


Vorrei recuperare immediatamente dopo l'inserimento di un record da form, il valore generato da SQLSERVER 2005 express come campo identità (INT) per una determinata chiave primaria all'interno di una form sviluppata in C#.
Nota: utilizzo dataset,bindingsource e tableadapter generati da visual studio 2005express.

lbenaglia Profilo | Guru

>Vorrei recuperare immediatamente dopo l'inserimento di un record
>da form, il valore generato da SQLSERVER 2005 express come campo
>identità (INT) per una determinata chiave primaria all'interno
>di una form sviluppata in C#.

Ciao guappa76,

il metodo consigliato per accedere ad un DBMS come SQL Server, consiste nell'incapsulare le query all'interno di stored procedure.
Per recuperare il valore IDENTITY autogenerato durante una operazione di INSERT, puoi utilizare la funzione SCOPE_IDENTITY() valorizzando un parametro di output della procedura. Tramite la collection Parameters dell'oggetto sqlCommand potrai leggere lato client tale valore.

Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org

guappa76 Profilo | Newbie

A grandi linee avevo capito cosa avrei dovuto fare perchè avevo già risolto lo stesso problema tempo fa accedendo con degli oledbdataadapter però in questo caso specifico mi blocco. Cioè non riesco a capire come posso recuperare il valore di ritorno della store procedure.

es. Ho la solita tabella clienti con id_cliente e nome, una form per l'inserimento del cliente. Ho creato un dataset ds_clienti e in automatico un clientibindingsource e un clientitableadapter.
Nella form la textbox è associata a clientibindingsource.nome.
Cliccando su un button:
this.Validate();
this.clientibindingsource.EndEdit();
this.clientitableadapter.Update(ds_clienti.clienti);

Ho modificato la INSERT di clientitableadapter dall'editor visuale di visual studio express aggiungendo alla fine: SELECT SCOPE_IDENTITY();

ma non riesco a trovare da nessuna parte l'oggetto sqlcommand...

grazie e ciao !!!
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-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5