簡體   English   中英

如果在日期字段中傳遞空值,如何轉換日期時間

[英]how to convert date time if passing null value in date field

如何存儲空值以及如何在數據庫中插入空值? 即時通訊收到此錯誤。

無法將字符串識別為有效的DateTime。

if (taskObj.EstimatedTime == null)
{
    taskObj.EstimatedTime = Convert.ToDateTime(estimateTimeLabel.Text);
}

public DateTime EstimatedTime
{
    set { estimatedTime = value; }
    get { return estimatedTime; }
}

您需要在數據庫中指定可以為特定列允許null。

如果您已經有一個數據庫,則可以運行以下內容:

ALTER COLUMN `YourColumn` datetime2() DEFAULT NULL

這將允許您在數據庫中使用null。

您還需要將代碼中的日期時間轉換為Nullable類型。 否則,.NET的默認日期為1/1/0001 12:00:00 AM(不是很有幫助)。

有兩種方法可以做到這一點。 我個人推薦第一個,但它完全取決於編碼風格。

您可以使用?來做到這一點。 操作員:

 public DateTime? EstimatedTime
{
    set { estimatedTime = value; }
    get { return estimatedTime; }
}

或通過Nullable泛型函數:

public Nullable<DateTime> EstimatedTime
{
    set { estimatedTime = value; }
    get { return estimatedTime; }
}

別忘了也將您的EstimatedTime字段也轉換為可為空的類型(再次使用?運算符或Nullable。

希望對您有所幫助。 如果沒有,請給我評論,我會盡力為您提供幫助。

暫無
暫無

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

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