2011-11-24 54 views
0

如何將空值傳遞給asp.net中的datetime數據類型?如何將空值傳遞給asp.net中的datetime數據類型?

cmdInsertUpdateConsultantDetails.Parameters.Add("@DateofExpiry", SqlDbType.DateTime); 
if (txtdateofexpiry.Text.Trim() == "") 
{ 
    cmdInsertUpdateConsultantDetails.Parameters["@DateofExpiry"].Value = 
} 
else 
{ 
    cmdInsertUpdateConsultantDetails.Parameters["@DateofExpiry"].Value = 
     Convert.ToDateTime(txtdateofexpiry.Text.Trim()); 
} 
+0

附加的 「?」。約會時間 ? currentDateTime; – giri77

回答

1

簡單的在這裏,你可以給DbNull.Value通過NULL值。

if (txtdateofexpiry.Text.Trim() == "") 
{ 
    cmdInsertUpdateConsultantDetails.Parameters["@DateofExpiry"].Value = DbNull.Value 
} 

它也推薦使用DateTime?Nullable

2

DateTime是一個值類型,它不能爲空。您可以使用Nullable<DateTime>(或語法短格DateTime?)代替。

下面是一個例子:

DateTime? dateTime; 
DateTime.TryParseExact(txtdateofexpiry.Text.Trim(), "dd/MM/yyyy", null, DateTimeStyles.None, out dateTime); 
+0

datetimeStyle.None是任何命名空間添加的錯誤請給我一些想法 – hmk

+0

DateTimeStyles枚舉是在System.Globalization命名空間,如果這就是你問。您還應該檢查[DateTime格式](http://www.csharp-examples.net/string-format-datetime/) –

3

日期時間是不是一個空類型。如果你沒有一個值是等於供給DateTime.MinValue

您可以使用

DateTime? MyNullableDateTime; 

This question在回答有更多詳細信息,如果你有興趣。

0

你可以通過它DBNull.Value。因此,這將是

cmdInsertUpdateConsultantDetails.Parameters.Add("@DateofExpiry", SqlDbType.DateTime); 
if (txtdateofexpiry.Text.Trim() == "") 
{ 
    cmdInsertUpdateConsultantDetails.Parameters["@DateofExpiry"].Value = DBNull.Value; 
} 
else 
{ 
    cmdInsertUpdateConsultantDetails.Parameters["@DateofExpiry"].Value = 
      Convert.ToDateTime(txtdateofexpiry.Text.Trim()); 
} 
相關問題