Mysql
 sql >> база данни >  >> RDS >> Mysql

Не може да се конвертира MySQL.DateTime в System.DateTime със стойности 0000-00-00 00:00:00

Разглеждайки тази документация , изглежда, че посочвате две противоречиви опции (AllowZeroDateTime=true и ConvertZeroDateTime=true ) и такъв, който изглежда не е в списъка (ZeroDateTimeBehavior=ConvertToNull ).

Предлагам го, освен ако нямате действителни данни, които са DateTime.MinValue които не искате да смесвате с "нулевата" стойност, вие просто посочете ConvertZeroDateTime=true и открийте дали резултатът е DateTime.MinValue . Определено не трябва извикайте reader.GetDateTime() , след това преобразувайте резултата в низ и след това обратно в DateTime - трябва да избягвате конвертирането на низове, доколкото можете, тъй като те могат да объркат нещата за вас доста лесно.

Не е много ясно каква стойност на низа искате за тези "нулеви" стойности, но би трябвало да можете да ги поставяте в специален случай с DateTime.MinValue сравнително лесно. Лично аз всъщност бих се опитал да запазя данните в тяхната „родна“ форма колкото е възможно повече, вместо да преобразувам всичко в низове, но това е различна битка.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mysql заявка за присъединяване

  2. Защо този цикъл не показва актуализиран брой обекти на всеки пет секунди?

  3. Как да архивирате/възстановявате MySQL/MariaDB и PostgreSQL с помощта на инструменти „Automysqlbackup“ и „Autopostgresqlbackup“

  4. Подготвен изявление за MySQL - Как да преминете през

  5. MySQL:усредняване с нулеви стойности