2009-01-18 12 views
1

J'essaie de générer un modèle de couche de données. Quand je fais mes sélections, mises à jour, et insertions, l'idée est d'avoir le modèle fonctionne avec toutes les colonnes parce que je ne sais pas lequel contient des valeurs ou pas. Le problème est que je peux avoir un statemtent de mise à jour comme cmd.Parameters.AddWithValue ("@ Field", this.Field); et si cette valeur est null, la requête ne s'exécutera pas. Comment puis-je contourner ce problème?Mise à jour de Nulls

MISE À JOUR:

J'ai essayé le ?? solution mais je reçois l'erreur Opérateur ?? ne peut pas être appliqué aux opérandes string (ou int) et System.DBNull. Cela ne semble fonctionner que si le champ est réellement nul, mais pas s'il a une valeur. Puis j'ai essayé de placer le type (objet) DBNull devant DBNull mais toujours rien.

Ajout de (objet) à ce champ travaillé!

Merci.

Répondre

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

?? est le coalesce operator en C#.

+0

J'ai essayé mais j'ai reçu l'erreur Opérateur? ne peut pas être appliqué aux opérandes string (et int) et System.DBNull – jumbojs

+0

Essayez (objet) this.Field ?? DBNull.Value –

+0

Salut merci à tous. Ça a marché! – jumbojs