ScdDept = fields[8] is DBNull? null:fields[8].ToString();
LeaveDate = fields[9] is DBNulL?DateTime.MaxValue:DateTime.Parse(fields[9].ToString());
如果我给A表添加一些值,并且我运行我的应用程序,则我有A表和B表。但在A表LeaveDate和ScdDept为空时,它看起来是"NULL",但在B表中,如果LeaveDate为空,则它看起来是maksvalue,而ScdDepart为空,那么它看起来是空的。我该如何解决这个问题?
方法1:如果数据未解析,这将设置默认值。它甚至返回解析是否完成。
String.TryParse( fields[8],out ScdDept );
DateTime.TryParse(field[9],out LeaveDate );
方法2:在声明ScdDept时,将其设为可为null的
private string? ScdDept ;
private DateTime? LeaveDate ;
您的问题不清楚。可能是maksvalue
,您的问题是MaxValue
。
根据您的评论和问题更新,我认为想要空值的
LeaveDate
列的DateTime.MaxValue
。
您的LeaveDate
属性应该看起来像
public DateTime? LeaveDate { get; set; }
然后像这样实现。
ScdDept = fields[8] is DBNull ? null : fields[8].ToString();
LeaveDate = fields[9] is DBNull ? (DateTime?)null : DateTime.Parse(fields[9].ToString());