Ho una DataTable tipizzata che mi sono creato ereditando da System.Data.DataTable contenente diverse colonne esposte come proprietà (in questo caso è un dato in sola lettura):
Private _ColonnaCodice As System.Data.DataColumn
Protected ReadOnly Property ColonnaCodice() As System.Data.DataColumn
Get
Return Me._ColonnaCodice
End Get
End Property
Ogni colonna è aggiunta al DataTable con le seguenti istruzioni:
Il DataTable lo popolo attraverso dei DataReader che "riempiono" dei DataRow anchessi tipizzati. l problema è quando sul DB ho dei valori NULL: il DB non lo popolo solo io con delle tabelle gestite dal mio programma e quindi non posso operare direttamente sul DB evitando i NULL.
Ho notato che molto tranquillamente e beatamente un DataSet tipizzato creato con l'IDE di VS, quando incontra un valore NULL restituisce un'eccezione: questo comportamento vorrei cambiarlo e gestire l'errore già sui DataRow.
Attualmente ho creato una classe che eredita da System.Data.DataRow e l'ho estesa con dei metodi privati per gestire il valore NULL
La mia domanda è molto semplice: non volendo fare una Function per ogni tipi esistente in .NET (mi pare una pazzia anche limitando all'enumerazione SqlDbType) posso gestire questo codice con una singola funzione generica? (usare i Generics mi pare possa rispondere in parte alla domanda)
Quello che mi risulta difficile è come assegnare il valore di default in base ai tipi, come recuperare il tipo corretto da processare (il tipo della DataColumn o il SqlDBType dll'item del Datareader) e come riflettere questo in codice... Mi risulta difficile tutto in poche parole...
Avete consigli e dritte da darmi?
Grazie!!!
--------------
Maurizio Brini
--------------
Nessuna impresa è mai stata compiuta da un uomo ragionevole