posts - 644, comments - 2003, trackbacks - 137

My Links

News

Raffaele Rialdi website

Su questo sito si trovano i miei articoli, esempi, snippet, tools, etc.

Archives

Post Categories

Image Galleries

Blogs

Links

DataAdapter e NullReferenceException

Sarà la giornata, sarà che c'è sempre qualcosa da imparare ma quando capitano non è proprio piacevole.

Ho potuto sperimentare uno strano comportamento (che oserei chiamare bug):

  • Se una DataTable è in binding con una grid
  • Se la si svuota di di righe e colonne
  • Se la si riempie nuovamente (ho provato a preparare prima lo schema con FillSchema ma è stato ininfluente

Durante una operazione di update del DataAdapter (sia su Sql Server che su Sql Server CE, ma credo che abbia poca importanza) può arrivare una bella NullReferenceException.

Ovviamente non capita con ogni genere di query, se no sarebbe stato troppo semplice, e questo spiega quel “può”.
La soluzione è semplice. Rimuovere la tabella e crearne una nuova (e quindi ahimè rifare il binding).

Ho scoperto poi di non essere da solo ma credo che sia importante lasciare una traccia perchè la soluzione non mi sembrava così immediata, soprattutto quando lo scopri sul Compact Framework e poi fortunatamente lo puoi riprodurre sul Full Framework.

Print | posted on mercoledì 17 novembre 2004 23:11 | Filed Under [ .NET [Italiano] ]

Feedback

Gravatar

# re: DataAdapter e NullReferenceException

avevo un problema simile.

Per gestire l'inserimento/variazione dei dati in grid ho dichiarato una datatable Friend WithEvents al fine di intercettare i column changing.

Nella fase di update del dataset cambiava uno dei valori (in quanto dichiarato come identity nel database) e scatenava l'evento column_changed, il quale andava in errore in quanto non con i corretti parametri inizializzati (ovviamente...): l'errore sembrava proprio essere dato dal update proprio perchè il debug comunque non passava attraverso la column_changed

Spero questa indicazione sia utile a qualcuno
22/05/2006 19:33 | Roberto
Comments have been closed on this topic.

Powered by:
Powered By Subtext Powered By ASP.NET