En regardant cette documentation
, il semble que vous spécifiiez deux options contradictoires (AllowZeroDateTime=true
et ConvertZeroDateTime=true
) et un qui ne semble pas être répertorié (ZeroDateTimeBehavior=ConvertToNull
).
Je suggère que, sauf si vous avez des données réelles qui sont DateTime.MinValue
que vous ne voulez pas confondre avec la valeur "zéro", vous juste spécifiez ConvertZeroDateTime=true
et détecter si le résultat est DateTime.MinValue
. Vous ne devriez certainement pas appelez reader.GetDateTime()
, puis convertissez le résultat en une chaîne, puis revenez en un DateTime
- vous devez éviter autant que possible les conversions de chaînes, car elles peuvent facilement vous gâcher la vie.
La valeur de chaîne que vous voulez pour ces valeurs "zéro" n'est pas vraiment claire, mais vous devriez pouvoir les caser avec DateTime.MinValue
Assez facilement. Personnellement, j'essaierais en fait de conserver autant que possible les données dans leur forme "native" plutôt que de tout convertir en chaînes, mais c'est une autre bataille.