Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
App. WinForms / WPF .NET
SCOPE_IDENTITY chiarimenti please
martedì 30 settembre 2008 - 13.16
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
plaguebreath
Profilo
| Junior Member
115
messaggi | Data Invio:
mar 30 set 2008 - 13:16
Salve a tutti, ho qualche poblema con l'implementazione di una cosa per molti ovvia ma non per il sottoscritto. Ho un database in SQL Express 2005 (che dovrebbe andare anche su 2000 comunque) e ho una tabella al suo interno composta da qualche campo tra cui un integer autoincrementale e un campo descrizione su cui ho messo un vincolo di unicità.
Adesso su VB.Express ho creato un programmino banale, ho dataadapter, dataset non tipizzato, un bindingsource per gstirmi datagridview e alcune textbox per aggiornamenti dati che non vengono fatti tramite datagrid. Mi sono creato la logica di insert delete e update autonomamente e la ho impostata sul form_load in questo modo.
da.InsertCommand = New SqlCommand("INSERT INTO [Genere] (DescGenere) VALUES (@DescGenere);", cnn)
da.InsertCommand.Parameters.Add("@DescGenere", SqlDbType.VarChar, 50, "DescGenere")
Prima la stringa era stata modificata come segue utilizzando IDENTITY SCOPE:
da.InsertCommand = New SqlCommand("INSERT INTO [Genere] (DescGenere) VALUES (@DescGenere); SELECT IDGenere, DescGenere, GenereTime,isdeleted FROM Genere WHERE (IDGenere = SCOPE_IDENTITY())", cnn)
ho il mio tasto Add che mi abilita le textbox e mi attiva il bindingsource per aggiungere il nuovo record: bds.AddNew()
e quando ho finito clicco su accetta e poi su add e così via fino a quando voglio salvare il tutto cliccando sul tasto SALVA che mi fa scattare l'update.
A questo punto ho i problemi, con la stringa sopra all'inserimento del nuovo record ottengo i valori corretti se tuto va bene, se qualcosa va storto e ad esempio duplico la descrizione su due record ovviamente mi becco la segnalazione di errore. Correggendo però la descrizione e cliccando sul tasto SALVA l'id mi si è sballato di un tot di posizioni, sembra che pur non avendo scritto nulla sul database il contatore si sia mosso per conto suo e non ne capisco il motivo .....
Ho letto della gestione degli eventi tramite handler tipo questi :
AddHandler da.RowUpdated, AddressOf onrowupdated
AddHandler da.RowUpdating, AddressOf OnRowUpdating
Ma non n ho capito bene l'utilizzo, qualcuno potrebbe farmi un po' più di chiarezza ?
PS: non uso stored procedure, son già in affanno così figurarsi :(
Torna su
Stanze Forum
Elenco Threads
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 !