[英]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.