Although it is strongly recommended that you avoid the use of
invalid dates within your .NET application, it is possible to
use invalid dates by means of the
MySqlDateTime data type.
MySqlDateTime data type supports the same
date values that are supported by the MySQL server. The default
behavior of Connector/Net is to return a .NET DateTime object
for valid date values, and return an error for invalid dates.
This default can be modified to cause Connector/Net to return
MySqlDateTime objects for invalid dates.
To instruct Connector/Net to return a
MySqlDateTime object for invalid dates, add
the following line to your connection string:
Allow Zero Datetime=True
MySqlDateTime class can still be
problematic. The following are some known issues:
Data binding for invalid dates can still cause errors (zero dates like 0000-00-00 do not seem to have this problem).
ToStringmethod return a date formatted in the standard MySQL format (for example,
2005-02-23 08:50:25). This differs from the
ToStringbehavior of the .NET DateTime class.
MySqlDateTimeclass supports NULL dates, while the .NET DateTime class does not. This can cause errors when trying to convert a MySQLDateTime to a DateTime if you do not check for NULL first.
Because of the known issues, the best recommendation is still to use only valid dates in your application.