sql >> Database teknologi >  >> RDS >> Mysql

Kan ikke konvertere MySQL.DateTime til System.DateTime med 0000-00-00 00:00:00 værdier

Ser på denne dokumentation , det ser ud til, at du angiver to modstridende muligheder (AllowZeroDateTime=true og ConvertZeroDateTime=true ) og en, der ser ud til ikke at være opført (ZeroDateTimeBehavior=ConvertToNull ).

Det foreslår jeg, medmindre du har faktiske data, som er DateTime.MinValue som du ikke vil blande sammen med "nul"-værdien, du bare angiv ConvertZeroDateTime=true og find ud af, om resultatet er DateTime.MinValue . Det burde du bestemt ikke kald reader.GetDateTime() , konverter derefter resultatet til en streng og derefter tilbage til en DateTime - du bør undgå strengkonverteringer, så vidt du kan, da de ret nemt kan ødelægge tingene for dig.

Det er ikke rigtig klart, hvilken strengværdi du vil have for disse "nul"-værdier, men du burde være i stand til at angive dem i særlige tilfælde med DateTime.MinValue ret nemt. Personligt ville jeg faktisk prøve at holde dataene i deres "native" form så meget som muligt i stedet for at konvertere alt til strenge, men det er en anden kamp.




  1. Find poster, hvor join ikke findes

  2. VÆLG * FRA personer WHERE user_id='$user_id' BESTIL EFTER tid GRUPPER EFTER efternavn

  3. Er der en måde at deaktivere opdateringer/sletninger på, men stadig tillade triggere at udføre dem?

  4. Hvad er den hurtigste måde at masseindsætte en masse data i SQL Server (C#-klient)