【发布时间】:2021-06-26 11:36:30
【问题描述】:
我已经编写了一些代码,但是在尝试从数据库中添加一个带有“null”的日期作为结果集时,我收到一个错误,即 null 不是日期/时间。
看来,我对以下代码 sn-p 有错误...我的问题是:如何正确设置数据类型,“空”数据集不会产生错误?
如您所见,首先我对某些数据类型进行了区分以创建正确的对象。但在这种情况下,对于日期,我想允许空对象。
你能帮帮我吗?
case kdType.Numeric20:
nKSI = ktSI.CreateKeyword(Int32.Parse(""+row[column]));
break;
case kdType.AlphaNumeric:
nKSI = ktSI.CreateKeyword(""+row[column]);
break;
case kdType.Date:
nKSI = ktSI.CreateKeyword(DateTime.ParseExact(""+row[column], "dd.MM.yyyy HH:mm:ss", null));
break;
case kdType.Currency:
nKSI = ktSI.CreateKeyword(Convert.ToDecimal(float.Parse(""+row[column], CultureInfo.CurrentCulture.NumberFormat)));
break;
case kdType.SpecificCurrency:
nKSI = ktSI.CreateKeyword(Convert.ToDecimal(float.Parse(""+row[column], CultureInfo.CurrentCulture.NumberFormat)));
break;
【问题讨论】:
-
c# 中的默认日期是 1/1/01,这是 null 构造函数使用的日期。某些应用程序将默认值设置为 1/1/1980 之类的日期(或其他默认值)。您不能在 c# 中将 DateTime 对象设置为 null,因此您必须使用真实值。
-
@Christan,如果我下面的回答解决了您的问题,您可以将其标记为已接受的答案
标签: c# datetime scripting nullable sc