12 messaggi dal 27 novembre 2016
Ciao a tutti.
Premesso che sono un esordiente totale, sto provando a costruire una semplice applicazione in vb.net 2015.
Il database è su Sql server 2014, in un form ho un datagridview con origine dati su una tabella.
Ho inserito un bindingnavigator con relativi pulsanti Delete e Update.
Se modifico un record e poi clicco su Update va in errore con il seguente messaggio "Eccezione non gestita di tipo 'System.InvalidOperationException' in System.Data.dll" sulla riga "Me.PATIENTTableAdapter.Update(Me.ISTODataSet.PATIENT)" (sotto il codice completo):

Private Sub ToolStripButton1_Click(sender As Object, e As EventArgs) Handles ToolStripButton1.Click
Me.PATIENTBindingSource.EndEdit()
Me.PATIENTTableAdapter.Update(Me.ISTODataSet.PATIENT) (va in errore qui)
Me.PATIENTTableAdapter.Update(ISTODataSet)
Me.PATIENTBindingSource.ResetBindings(False)
End Sub

Se provo ad inserire una nuova riga esce l'errore (sempre sulla stessa riga di codice):
Eccezione non gestita di tipo 'System.Data.SqlClient.SqlException' in System.Data.dll

Ulteriori informazioni: Quando IDENTITY_INSERT è OFF non è possibile inserire un valore esplicito per la colonna Identity nella tabella 'PATIENT'.

Il mio livello di (in)competenza non mi permette di uscirne vivo :)

Grazie
Marcello
Modificato da silverado60 il 09 febbraio 2017 20.45 -
11.886 messaggi dal 09 febbraio 2002
Contributi
Ciao Marcello,
l'InvalidOperationException non è corredata da altri dettagli? Quando Visual Studio interrompe l'esecuzione per segnalarti l'eccezione, vai a vedere la InnerException (se c'è). Potrebbe darti altri dettagli fondamentali per capire la causa del problema. Ecco il punto in cui cliccare per poi accedere alla InnerException:
https://i.stack.imgur.com/6HQ1x.png

Il secondo problema, invece, dipende dal fatto che stai cercando di inserire un valore per la tua colonna ID, che è di tipo intero autoincrementante. Sql Server non te lo lascia fare per default, perché vorrebbe che sia il motore del database a generare automaticamente tale valore all'atto della INSERT. Quindi, per risolvere il problema, potresti evitare di indicare un valore per la colonna ID oppure, se hai l'effettiva necessità di inserire esplicitamente un certo ID, abilita la proprietà IDENTITY_INSERT
https://msdn.microsoft.com/it-it/library/ms188059.aspx



Il mio livello di (in)competenza non mi permette di uscirne vivo :)

Si può rimediare. Acquista un libro o fatti affiancare da una persona con esperienza. In entrambi i casi, imparare sarà più facile e veloce. L'importante è non volersi ostinare a fare tutto per tentativi, così da non perdere la motivazione.

ciao,
Moreno

Enjoy learning and just keep making
12 messaggi dal 27 novembre 2016
Ciao Moreno, grazie per la risposta, questo fine settimana proverò

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.