分配给列表变量datatable对象datetime

时间:2018-10-11 07:39:39

标签: c# sql datetime type-conversion

item [“ firstTime”]是DateTime对象,可能为NULL

如果我使用这个:

firstDate= Convert.ToDateTime(item["firstTime"].ToString()),

而dataobject里面有一些数据就可以了。 但是,如果dataobject为NULL,那么我有错误。 我已经尝试过了,但是没有帮助:(

    firstDate= Convert.ToDateTime(string.IsNullOrEmpty(item["firstTime"].ToString()) ?
 "NULL" : item["firstTime"].ToString()),

1 个答案:

答案 0 :(得分:4)

由于您的头衔,我猜itemDataRow。我不明白为什么在实际上应该是DateTime的情况下将对象转换为字符串。

您应该尝试一下,如果可行,这是最好的方法:

DateTime? firstDate = item.Field<DateTime?>("firstTime");

Field是支持可空类型的扩展方法。因此,如果DataTable的列实际上是一个DateTime列,但包含DbNull,那么它将为变量分配一个DateTime?

如果您希望字符串NULL为空,则为该字符串:

string result = firstDate?.ToString() ?? "NULL";