UPDATE,INSERT,DELETE e relazioni uno-a-molti

lunedì 31 gennaio 2005 - 23.13

nothorius Profilo | Newbie

Ciao ragazzi,
non riesco ad aggiornare un dataset con due tabelle collegate tra loro con una relazione uno-a-molti. Sto utilizzando due OleDBDataAdapter , uno per ogni tabella....

....qualcuno mi può aiutare? potete dirmi come si realizzano i comandi di inserimento, aggiornamento e cancellazione in questo caso ? GRAZIE

Cteniza Profilo | Guru

E' corretto utilizzare un dataadapter per tabella
In quanto a come impostare insert / update / delete puoi agire nel seguente modo:
Imposti la select di ciascun dataadapter.
Dim cmd As New OleDbCommand("Select ...",OleDbConnection1)
Definisci un dataadapter per ogni tabella
Dim da1 As OleDbDataAdapter
da1.SelectCommand = cmd
Generi un oggetto OleDbCommandBuilder per ogni tabella
Dim cmb As New OleDbCommandBuilder(da1)
Se hai bisogno di modificare la select puoi ricavare i comandi dal commandbuilder:
da1.InsertCommand = cmb.GetInsertCommand
da1.DeleteCommand = cmb.GetDeleteCommand

nothorius Profilo | Newbie

...MA DEVO CREARE UN DATAADAPTER PER OGNI TABELLA ANCHE SE LI HO GIA' CREATI A LIVELLO GRAFICO? CIOE' PER FARE QUESTO UPDATE NON VA' BENE RIFERIRSI AI DATAADAPTER GIA' CREATI?

Cteniza Profilo | Guru

Se li hai già creati devi solo verificare che funzionino bene.
Devi inserire le righe di dettaglio per seconde (se ci sono dei vincoli).
Quando fai l'update, aggiorna prima la tabella di testata e poi quella di dettaglio

nothorius Profilo | Newbie

io ho letto che il commandbuilder funziona solo in presenza di una sola tabella e che in presenza di relazioni esso non funziona. E' vero?

ysdemarc Profilo | Expert

E' verissimo...
dovresti o crearti le istruzioni sql E facendo ExecuteNonQuery
oppure, ma non l'ho mai provato, ho letto che è possibile creare più DataSet e metterli in relazione piuttosto che usare join sql e a questo putno essendo una tabella per dataset dovrebbe essere possibile aggiornarle con update.

Cteniza Profilo | Guru

Secondo me vanno gestiti il numero minimo di datasets possibili.
I vincoli / relazioni immessi vanno salvaguardati magari intervenendo "a mano" sui command del dataadapter.
L'aggiornamento del dataset va fatto partire dagli elementi padre a cascata.

nothorius Profilo | Newbie

Ragazzi , riuscite a farmi avere un esempio di update su una maschera con una relazione 1 a molti? e di conseguenza delete ed insert? SONO BLOCCATO NON POSSO CONTINUARE IL MIO LAVORO!!! HELP
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 !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5