C # ExecuteQuery valeur nulle
-
22-09-2019 - |
Question
J'ai un code:
using (OAZISDBDataContext ctx = new OAZISDBDataContext())
{
IEnumerable<DBContactDetail> details = ctx.ExecuteQuery<DBContactDetail>("exec [dbo].[zna_contact] {0}, {1}",
"test", "19601023",
}
Cependant, je veux aussi être en mesure de transmettre des valeurs vides à la procédure stockée de sorte qu'il ne fonctionne tout simplement pas les utiliser.
Maintenant, avec les chaînes cela est facile, je peux passer String.Empty et cela fonctionnera. Mais si je veux passer les dates vides ce problème.
J'ai évidemment essayé:
using (OAZISDBDataContext ctx = new OAZISDBDataContext())
{
IEnumerable<DBContactDetail> details = ctx.ExecuteQuery<DBContactDetail>("exec [dbo].[zna_contact] {0}, {1}",
"test", null,
}
Mais cela ne fonctionne pas », donne l'erreur:
System.Exception. Un queryparameter ne peut pas être de type System.Object
Après quelques lectures, j'ai découvert que le ExecuteCommand ne supporte pas les paramètres nuls alors que la spécification affirme qu'il devrait.
Quelqu'un at-il rencontré ce problème et a trouvé une solution de contournement?
Merci un groupe
La solution
Avez-vous essayé:
DBNull.Value
Autres conseils
Avez-vous essayé d'envoyer DBNull.Value
ou une nouvelle Nullable<DateTime>()
?