DataRow marcato come cancelled inaccessibile.

venerdì 31 agosto 2007 - 17.23

adima80 Profilo | Junior Member

Ciao questo problema mi è capitato qualche volta e non sono mai riuscito a capire come evitarlo:

ho un dataset, cancello un record e questo al posto di essere effettivamente cancellato viene marcato come cancelled, quindi quando riscorro il dataset mi viene generata un'eccezzione perchè il record non è più accessibile.

es:
Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

Ho provato ad inserire questa istruzione dopo il ciclo che effettua la cancellazione ma niente da fare!
ds.AcceptChanges();

Il problema che operazioni di cancellazione e rielaborazione sui dataset ne faccio di continuo, senza questo problema... come mai? Ho forse preso troppo sole in testa in ferie?


Grazie per l'attenzione anche ad Agosto , ciao!!!

Dampyr Profilo | Junior Member

Ciao, così a naso, mi viene da dire che se fai l'accept change del dataset le righe messe nello stato cancellato vengono eliminate.
Proverei però un'altro sistema per l'eliminazione dei dati.
Del tipo:

DataRow[] dr = ds.tables[0].Select("Codice = 'prova' ");
for (int i = 0; i< dr.Lenght; i++)
ds.tables[0].rows.remove(dr[i])

Da controllare lo stato in cui si trovano le righe nel dataset, se lo stato è impostato su cancelled basta fare l'acceptChange del dataset, prima di fare altre elaborazioni.
... cerca di essere il giocatore di scacchi, non il pezzo sulla scacchiera...
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-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5