3 messaggi dal 10 febbraio 2002
Buongiorno a tutti,
sto convertendo alcune applicazioni access in vb.net. Mi capita che nei form dove viene "bindato" un capo booleano (database access) con l'attributo checked, al momento di fare un BindingContext("dsobj","tabella").addNew() per generare un record nuovo da riempire nasce un'eccezione di casting: dice che non riesce a fare il cast tra DBNull ed altri tipi e in effetti il nuovo record non è reso disponibile all'editing. Vorrei chiedere se qualcuno ha già gestito questo tipo di eccezione.
Grazie per l'aiuto.

Mauro

mauro bezzi
11.886 messaggi dal 09 febbraio 2002
Contributi
Sei sicuro che l'errore si verifichi nel campo booleano? Io ho sperimentato questo errore in un campo text di access.
Asp.net ha reso palese una problematica su cui si poteva sorvolare con l'asp classico. Ovvero:

un campo text di access quanto vale per default? Sembrerà strano ma alcune volte vale null, altre vole vale stringa vuota (e ci sono stati un sacco di post su questo).
L'errore che ricevi è dovuto al fatto che un campo testo vale appunto null. Asp.net è fortemente tipizziato e (se non sbaglio, anzi su questo non sono sicuro) non si può valorizzare una stringa con null. cioè non puoi fare:

Dim testo As Stringa = System.DBnull

Per risolvere il tuo problema puoi, o gestire l'eccezione con Try...catch, ma in questo caso non so se potrai editare il campo, oppure, al posto del databinding usa un datalist o altro e poi fai esplicitamente il casting della variabile:
dataset.Tables(0).Rows(0)("nomecampo").ToString()

Ps. alla prossima occasione, quando crei un database access e hai dei campi text indica come valore di default "" (stringa vuota) e il problema è risolto alla radice
Questo è un consiglio preliminare, sicuramente qualcun'altro saprà darti maggiori ragguagli, byeee

Enjoy learning and just keep making
3 messaggi dal 10 febbraio 2002
Ti ringrazio per la risposta e per gli spunti che mi hai fornito, ma ti confermo che il problema è proprio su un campo logico. Infatti se tolgo il "binding" tra la casella di spunta del form ed il campo di database non ho problemi solo che ovviamente perdo la possibilità di editarlo. Vedrò di risolverlo il altro modo.

Ciao

mauro bezzi

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.