DataTable già appartenente a un DataSet diverso

sabato 23 luglio 2005 - 20.11

temerario Profilo | Junior Member

Ho un evento che ad un certo punto per un controllo mi chiama una function dove passo un valore e un datatable.
All'interno della funzione, dovendo usare la classe DataSetHelper, che mi permette di fare una group by mi creo un dataset, gli associo il datatable appena passato e con la classe mi creo sempre all'interno del dataset un'altra datatable.
Questa funzione restituisce true o false e in base al risultato al ritorno della chiamante mi fa una commit o una rollback.
Nel momento in cui tramite un datagrid quella datatable iniziale viene modificata e quindi riparte l'evento rieseguo la funzione di controllo.

Dim ds As DataSet
Dim dsHelper As DataSetHelper.DataSetHelper
dt.TableName = "Imballo"

ds = New DataSet
ds.Tables.Add(dt)

all'esecuzione dell'ultima istruzione mi da questo errore:

DataTable già appartenente a un DataSet diverso

Come mai? devo resettare qualcosa sul datatable? eppure immagino che il dataset all'uscita della funzione non esiste più avendo una visibilità locale.

Cosa posso fare?

micto27 Profilo | Senior Member

l'istanza di DataTable dt appartiene al primo dataset e quindi non puoi aggiungerla anche al secondo.

Eventualmente (se può andar bene) potresti aggiungere al secondo dataset una copia di dt:

ds = New DataSet
ds.Tables.Add(dt.Copy)

Ciao, Michele.

temerario Profilo | Junior Member

il dataset è sempre lo stesso...la funzione è sempre la stessa.
Infatti il ds viene dichiarato nella funzione e pensavo che uscendo dalla funzione il dataset venga distrutto per poi essere nuovamente ricreato al successivo accesso alla function.

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