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
Problemi form master detail
venerdì 14 gennaio 2005 - 11.06
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
nothorius
Profilo
| Newbie
22
messaggi | Data Invio:
ven 14 gen 2005 - 11:06
Ciao a tutti , volevo sottoporvi un mio problema .
Ho realizzato delle maschere master dettagli, che credevo funzionassero bene. Invece mi sono reso conto che quando creo un nuovo record e inserisco dei valori nella parte dettagli , mi compare il seguente messaggio d'errore :
ERRORE DURANTE IL COMMIT DELLA RIGA ALL'ARCHIVIO ORIGINALE : ForeignKeyCostraint FornitoriAgenti (per esempio) richiede l'esistenza dei valori delle chiavi figlio (numero) nella tabella padre. corregere il valore ?
Se rispondo SI ritorna alla sottomaschera e ad ogni azione mi ridà lo stesso errore , mentre se rispondo no, crea un nuovo recod nella sottomaschera cancellando il precedente e la storia rcomincia.
Infine se creo un nuovo record lato master e poi torno indietro , al record precedente l'inserimento avviene normalmente. Potete aiutarmi? Grazie
Cteniza
Profilo
| Guru
1.509
messaggi | Data Invio:
sab 15 gen 2005 - 15:22
Visto che hai inserito dei vincoli devi risolverli prima di scrivere la riga.
Puoi intervenire prima dell'evento update facendo un controllo delle righe inserite e risolvendo i conflitti
Naturalmente se inserisci una riga senza che ci sia la relativa testata e/o fai l'update delle sole righe ottieni un errore
nothorius
Profilo
| Newbie
22
messaggi | Data Invio:
dom 16 gen 2005 - 16:54
grazie cteniza ma non riesco a capire che cosa intendi per "risolverli". Puoi farmi un esempio pratico?
Cteniza
Profilo
| Guru
1.509
messaggi | Data Invio:
dom 16 gen 2005 - 17:27
Ad esempio gestendo l'evento row updating del dataadapter:
myDataAdapter.RowUpdating += new OleDbRowUpdatingEventHandler( OnRowUpdating );
Sul gestore dell'evento fai il resto
protected static void OnRowUpdating(object sender, OleDbRowUpdatingEventArgs args)
{
if (args.StatementType == StatementType.Insert)
{
}
}
Oppure puoi, ad ogni newrow() del dettaglio verificare e/o creare la chiave di testata (naturalmente questo dipende da come è strutturato il tuo programma)
nothorius
Profilo
| Newbie
22
messaggi | Data Invio:
lun 17 gen 2005 - 08:07
Ho capito , ma il problema è che l'errore si verifica nel momento in cui inserisco dei dati nel datagrid e non quando faccio l'update.
Esempio :
se i campi che compongono il datagrid (quindi il dettaglio) sono PREZZO.QUANTITA e SCONTO appena , in sequenza arrivo ad inserire un valore nel campo sconto mi da quell'errore.
Qundi la cosa diventa difficile da gestire.
Cteniza
Profilo
| Guru
1.509
messaggi | Data Invio:
lun 17 gen 2005 - 09:32
A questo punto ti conviene allora intervenire sulla newrow appena inserita prima dell'add sulla datatable
nothorius
Profilo
| Newbie
22
messaggi | Data Invio:
lun 17 gen 2005 - 14:33
CTENIZA :
IMPOSSIBLE IS NOTHING !
Ci sono riuscito....mi sono illuminato
cmq grazie ancora.
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 !