MySQL Connector/NET 发行说明
虽然强烈建议您避免在 .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
)。这与 .NET DateTime 类的ToString
行为不同。MySqlDateTime
类支持 NULL 日期,而 .NET DateTime 类不支持。如果在转换之前没有检查 NULL,这可能会在尝试将 MySQLDateTime 转换为 DateTime 时导致错误。
由于已知问题,最佳建议仍然是在应用程序中只使用有效日期。