簡體   English   中英

c# 腳本內可為空的 DateTime

[英]c# nullable DateTime within script

我已經編寫了一些代碼,但是在嘗試從數據庫中添加帶有“null”的日期作為結果集時,我收到一個錯誤,即 null 不是日期/時間。

所以看來,我對以下代碼片段有一個錯誤......我的問題是:如何正確設置數據類型,“空”數據集不會產生錯誤?

如您所見,首先我在一些數據類型之間做出區別以創建正確的對象。 但在這種情況下,對於日期,我想允許 null 對象。

請你幫助我好嗎?

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;

在嘗試使用 DateTime.ParseExact 之前,您必須檢查 db null 值

像這樣的東西

object dbValue = row[column]
if (dbValue == DbNull.Value)
{
//handle NULL somehow
}
else
{
.... =DateTime.ParseExact(dbValue.ToString(), ....);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM