Impossible de convertir la valeur date / heure MySQL en System.DateTime
Je suis en utilisant ibatis et C#. j'obtiens un résultat d'une requête select qui a CreatedDate comme l'un de la le domaine. Le Type de données de CreatedDate dans Mysql est Date. J'affecter le résultat de la requête select pour une Ilist< DeliveryClass>.
Ici la DeliveryClass CreatedDate en DateTime. Quand je lance l'application, j'obtiens pas en mesure de convertir MySQL valeur de date/heure du Système.DateTime. Quel pourrait être le problème?
source d'informationauteur Gopi
Vous devez vous connecter pour publier un commentaire.
Le problème dans le format, en fait mysql ont un autre format (aaaa-mm-jj) pour la date, l'heure et le type de données pour résoudre ce problème, utilisez le connecteur mysql bibliothèque .net à partir d'ici
http://dev.mysql.com/downloads/connector/net/
il donnera un autre type de données de date/heure, appelé MysqlDateTime
ou vous pouvez mettre en forme les données de date/heure dans votre instruction sql à l'aide de DATE_FORMAT(date,format)
vous pouvez obtenir plus de détails à partir d'ici
http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html#function_date-format
mais je ne le recommande pas, parce que vous perdez de la puissance de la date/heure type de données (par exemple, vous ne pouvez pas comparer) parce que maintenant vous pouvez convertir en string, mais je pense qu'il sera utile dans les rapports
Ajoutant
convert zero datetime=True
à la chaîne de connexion sera automatiquement convertir0000-00-00
les valeurs de Date enDateTime.MinValue()
.c'est RÉSOLU
L'ajout de "convertir zéro datetime=True" à la chaîne de connexion résolu mon problème.
Ce qui concerne
PS
J'ai résolu mon problème par le réglage de la colonne de la valeur par défaut comme
null
de données plutôt que d'utiliser0000-00-00 00:00:00
:Il pourrait être hors de portée d'un objet DateTime. J'ai vu que quelques fois. Essayez de modifier le sql pour renvoyer la date actuelle à la place de votre colonne et voir si elle est ok.
Cela a fonctionné pour moi:
Une chose qui fonctionne aussi est en train de changer votre lecteur à l'action.
J'ai eu ce problème quand j'ai écrit
Puis j'ai utilisé pour écrire ce
Et plus aucune erreur.
Vous avez besoin de faire le simple changement de la chaîne de connexion que vous avez ajoutée pour base de données MySql. je.e CONVERTIR ZÉRO DATETIME = TRUE