连接器和 API 手册 / 第 4 章 MySQL 连接器/NET 开发人员指南 / 4.5 连接器/NET 编程 / 4.5.10 在 Connector/NET 中处理日期和时间信息 /
4.5.10.4 处理无效日期
尽管强烈建议您避免在 .NET 应用程序中使用无效日期,但可以通过
MySqlDateTime
数据类型使用无效日期。
该MySqlDateTime
数据类型支持与 MySQL 服务器相同的日期值。Connector/NET 的默认行为是为有效日期值返回 .NET DateTime 对象,并为无效日期返回错误。可以修改此默认值以导致 Connector/NET 返回
MySqlDateTime
无效日期的对象。
要指示 Connector/NET 返回MySqlDateTime
无效日期的对象,请将以下行添加到您的连接字符串中:
Allow Zero Datetime=True
该类MySqlDateTime
仍然存在问题。以下是一些已知问题:
无效日期的数据绑定仍然会导致错误(0000-00-00 之类的零日期似乎没有这个问题)。
该
ToString
方法返回一个以标准 MySQL 格式(例如,2005-02-23 08:50:25
)格式化的日期。这不同于ToString
.NET DateTime 类的行为。该类
MySqlDateTime
支持 NULL 日期,而 .NET DateTime 类不支持。如果您不首先检查 NULL,则在尝试将 MySQLDateTime 转换为 DateTime 时可能会导致错误。
由于已知问题,最好的建议仍然是在您的应用程序中仅使用有效日期。