MySQL Connector/NET Developer Guide
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.
The 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
The 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).
The ToString
method return a date
formatted in the standard MySQL format (for example,
2005-02-23 08:50:25
). This differs from
the ToString
behavior of the .NET
DateTime class.
The MySqlDateTime
class 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.