ITEEDU

26.2.4.7.4. 处理无效日期

强烈建议在你的.NET应用程序中应避免使用无效日期,尽管如此,也能tongguo MySqlDateTime数据类型使用无效日期。

MySqlDateTime数据类型支持MySQL服务器支持的相同日期值。MySQL Connector/NET的默认行为是,对有效的日期值返回1个.NET DateTime对象,对无效日期值返回错误。可以更改该默认方式,使MySQL Connector/NET为无效日期返回MySqlDateTime对象。

要想使MySQL Connector/NET为无效日期返回MySqlDateTime对象,可在连接字符串中添加下行:

  Allow Zero Datetime=True
  

请注意,使用MySqlDateTime类仍会产生问题。下面介绍了一些已知问题:

1.    无效日期的数据绑定仍会导致错误(零日期0000-00-00看上去不存在该问题)。

2.    ToString方法返回按标准MySQL格式进行格式处理的日期(例如,2005-02-23 08:50:25)。这与.NET DateTime类的ToString行为不同。

3.    MySqlDateTime类支持NULL日期,但.NET DateTime类不支持NULL日期。如果未首先检查NULL,在试图将MySQLDateTime转换为DateTime时,会导致错误。

由于存在上述已知事宜,最佳建议仍是,在你的应用程序中仅使用有效日期。