Domanda

Sto cercando di generare un modello di livello dati. Quando eseguo le selezioni, gli aggiornamenti e gli inserti, l'idea è di far funzionare il modello con tutte le colonne perché non so quali contengano valori o meno. Il problema è che potrei avere un update statemtent come cmd.Parameters.AddWithValue (" @ Field " ;, this.Field); e se quel valore è nullo, la query non verrà eseguita. Come posso aggirare questo problema?

AGGIORNAMENTO:

Ho provato ?? soluzione ma ricevo l'errore Operatore ?? non può essere applicato agli operandi stringa (o int) e System.DBNull. Sembra funzionare solo se il campo è effettivamente nullo, ma non se ha un valore. Quindi ho provato a posizionare il tipo (oggetto) DBNull davanti a DBNull ma ancora niente.

L'aggiunta di (oggetto) a questo campo ha funzionato!

Grazie.

È stato utile?

Soluzione

cmd.Parameters.AddWithValue("@Field", this.Field ?? DBNull.Value);

?? è operatore di coalizione in C #.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top