文档首页
MySQL Connector/NET 开发人员指南
相关文档 下载本手册
PDF (US Ltr) - 1.3Mb
PDF (A4) - 1.3Mb


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)。这与 .NET DateTime 类的 ToString 行为不同。

  • MySqlDateTime 类支持 NULL 日期,而 .NET DateTime 类不支持。如果在转换之前没有检查 NULL,这可能会在尝试将 MySQLDateTime 转换为 DateTime 时导致错误。

由于已知问题,最佳建议仍然是在应用程序中只使用有效日期。