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
Intercettare evento "The DELETE statement conflicted with the REFERENC...
venerdì 26 settembre 2008 - 08.36
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
falk83
Profilo
| Newbie
22
messaggi | Data Invio:
ven 26 set 2008 - 08:36
Ciao a tutti,
Ho una tabella fornitori e manutenzioni, se elimino un fornitore che ha eseguito una manutenzione naturalmente mi da errore,
come posso fare per intercettare l'errore e di seguito avvisare l'utente tramite messageBox? (window form + C#)
Grazie
ciao
Brainkiller
Profilo
| Guru
7.999
messaggi | Data Invio:
ven 26 set 2008 - 10:56
>Ciao a tutti,
>Ho una tabella fornitori e manutenzioni, se elimino un fornitore
>che ha eseguito una manutenzione naturalmente mi da errore,
>come posso fare per intercettare l'errore e di seguito avvisare
>l'utente tramite messageBox? (window form + C#)
Eh, come è strutturata la winform ? Che cosa hai utilizzato, oggetti, tecnologia per l'accesso ai dati, binding ecc. ?
Ma tu vuoi cancellare i record collegati oppure no ? Perchè in quel caso puoi abilitare il cascade delete a livello di DB e quindi quando cancelli il record padre, partono anche i figli.
Ciao
David De Giacomi | Microsoft MVP
http://blogs.dotnethell.it/david/
beeryourself
Profilo
| Newbie
12
messaggi | Data Invio:
ven 26 set 2008 - 11:00
vero, ho anche io questo tipo di problema...
ho una tabella Gruppi e una Categorie. All'interno di Categorie c'è un attributo id_gruppi che serve a identificare la categoria come appartenente a un gruppo specifico. Ho creato la ForeignKey e ho impostato il vincolo di Delete in Cascade dal DataSet però non funziona mai, cioè quando elimino un gruppo che ha delle categorie associate ritorna l'eccezione del conflitto.
Se faccio la stessa operazione direttamente nel db in Access nessun problema...
Brainkiller
Profilo
| Guru
7.999
messaggi | Data Invio:
ven 26 set 2008 - 11:07
>come appartenente a un gruppo specifico. Ho creato la ForeignKey
>e ho impostato il vincolo di Delete in Cascade dal DataSet però
>non funziona mai, cioè quando elimino un gruppo che ha delle
>categorie associate ritorna l'eccezione del conflitto.
>Se faccio la stessa operazione direttamente nel db in Access
>nessun problema...
Prova a consultare questa pagina, vai in basso dove c'è un messaggio:
http://msdn.microsoft.com/en-us/library/st1t2c35.aspx
e leggi che presenta il tuo stesso problema con relativa spiegazione.
Da ciò che ho capito se c'è il Cascade Delete attivo sia a livello di DataSet che di DB ti dà errore di conflitto.
Magari trattasi di questo.
Ciao
David De Giacomi | Microsoft MVP
http://blogs.dotnethell.it/david/
falk83
Profilo
| Newbie
22
messaggi | Data Invio:
ven 26 set 2008 - 11:28
Ho usato BindingSource e tutto il resto..:
this.fornitoreBindingSource.EndEdit();
this.fornitoreTableAdapter.Update(this.inventarioDataSet.fornitore);
this.fornitoreBindingSource.ResetBindings(false);
No io non voglio fare il delete on cascade, ma intercettare questo evento e comunicarlo all'utente tramite MessageBox e annunciarli che non può cancellare il fornitore (in questo caso).
ciao ciao
Brainkiller
Profilo
| Guru
7.999
messaggi | Data Invio:
ven 26 set 2008 - 11:59
>this.fornitoreBindingSource.EndEdit();
>this.fornitoreTableAdapter.Update(this.inventarioDataSet.fornitore);
>this.fornitoreBindingSource.ResetBindings(false);
>No io non voglio fare il delete on cascade, ma intercettare questo
>evento e comunicarlo all'utente tramite MessageBox e annunciarli
>che non può cancellare il fornitore (in questo caso).
Io penso che puoi mettere tutto in un try..catch..exception e nell'Exception andare a gestire il tipo di eccezione e visualizzare l'errore all'utente.
Oppure verifica fornitoreTableAdapter dovrebbe esporre eventi che scattano nel caso ci sono errori durante l'operazione eseguita. In quel caso ti agganci all'evento e gestisci l'errore.
Ciao
David De Giacomi | Microsoft MVP
http://blogs.dotnethell.it/david/
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 !