我有一个数据库列 'date_announced',其值为 0000-00-00 00:00:00
,当我尝试将此值插入到类字段时遇到错误
Unable to convert MySQL date/time value to System.DateTime"
,如何优雅地处理代码不抛出异常?
date_announced = 0000-00-00 00:00:00
var BuildDetails = new BuildAnnounceDetails();
while (rdr.Read())
{
BuildDetails.SP = rdr.GetString(0);
//BuildDetails.BuildID = rdr.GetString(1);
BuildDetails.CreatedDate = rdr.GetString(1);
BuildDetails.AnnouncedDate = rdr.GetString(2); **//throws an exception at this line**
BuildDetails.AnnouncedBy = rdr.GetString(3);
if (BuildDetails != null)
{
BuildAnnounceDetailsInfo.Add(BuildDetails);
}
}
错误:
Unable to convert MySQL date/time value to System.DateTime
最佳答案
你应该使用 GetMySqlDateTime具有 IsValidDateTime
属性的方法。所以在你的情况下:
BuildDetails.AnnouncedDate = rdr.GetMySqlDateTime(2).IsValidDateTime?rdr.GetString(2):string.Empty;
关于c# - 当值为0000-00-00 00 :00:00时如何处理mysql datetime列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43794520/