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
Aggiornamento tabelle correlate
domenica 22 ottobre 2006 - 00.32
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
relux
Profilo
| Newbie
11
messaggi | Data Invio:
dom 22 ott 2006 - 00:32
Salve a tutti,
Ho il seguente problema:
Ho 2 tabella correlate tramite una relazione e un vincolo di chiave esterna. Per aggiornare queste tabelle uso il seguente procedimento che ho trovato nella documentazione di visual studio 2005:
Dim deletedItem_prenotazione As dbDataSet.Item_prenotazioneDataTable = CType( _
DbDataSet.Item_prenotazione.GetChanges(Data.DataRowState.Deleted), dbDataSet.Item_prenotazioneDataTable)
Dim newItem_prenotazione As dbDataSet.Item_prenotazioneDataTable = CType( _
DbDataSet.Item_prenotazione.GetChanges(Data.DataRowState.Added), dbDataSet.Item_prenotazioneDataTable)
Dim modifiedItem_prenotazione As dbDataSet.Item_prenotazioneDataTable = CType( _
DbDataSet.Item_prenotazione.GetChanges(Data.DataRowState.Modified), dbDataSet.Item_prenotazioneDataTable)
Me.Validate()
' Remove all deleted Item_prenotazione from the Item_prenotazione table.
If Not deletedItem_prenotazione Is Nothing Then
Item_prenotazioneTableAdapter.Update(deletedItem_prenotazione)
End If
' Update the Prenotazione table.
PrenotazioneTableAdapter.Update(DbDataSet.Prenotazione)
' Add new Item_prenotazione to the Item_prenotazione table.
If Not newItem_prenotazione Is Nothing Then
Item_prenotazioneTableAdapter.Update(newItem_prenotazione)
End If
' Update all modified Item_prenotazione.
If Not modifiedItem_prenotazione Is Nothing Then
Item_prenotazioneTableAdapter.Update(modifiedItem_prenotazione)
End If
DbDataSet.AcceptChanges()
Catch ex As Exception
MessageBox.Show(ex.Message, "INSERIMENTO DATI FALLITO", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1)
Finally
If Not deletedItem_prenotazione Is Nothing Then
deletedItem_prenotazione.Dispose()
End If
If Not newItem_prenotazione Is Nothing Then
newItem_prenotazione.Dispose()
End If
If Not modifiedItem_prenotazione Is Nothing Then
modifiedItem_prenotazione.Dispose()
End If
End Try
Ho scritto questo codice nell'evento click del BindingNavigatorSave e ho inserito anche un altro bindingnavigator per muovermi tra i record della tabella item (che è la tabella figlio). Il problema è che in alcuni casi nn funziona!!
Ad esempio un'eccezione che viene lanciata spesso,mandando in blocco tutto è:
"violazione di concorrenza: DeleteCommand/UpdateCommand ha modificato 0 di 1 record previsti" Che significa? Sto accedendo solo io al db!!Quale concorrenza?
Inoltre spesso nn viene fatto il "commit" dei dati ovvero nn vengono trasferiti nel db ma sono comunque visibili nelle dataTable (in memoria). Qualcuno potrebbe spiegarmi in dettaglio come funziona tutto questo, ovvero perchè nn funziona?
Scusatemi se mi sono dilungato troppo e grazie anticipatamente a tutti per l'interessamento.
Ciao
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 !