2013-07-14 21 views
1

我有maskedtextbox這將插入日期插入SQL data type日期。在SQL中它允許NULL,但是如果我嘗試插入這個maskedtextbox爲空。它給出了一個錯誤,它無法將符號轉換爲日期數據類型。這個maskedtextbox就像_ _(DD.MM.YYYY)MaskedTextBox中無法插入空日期到SQL

我對INSERT INTO ParameterSqlCommand是這樣的:

prikaz.Parameters.AddWithValue("zodjdate", maskedTextBox2.Text); 

我應該如何改變它,使其插入空值?

在此先感謝。 M.S.

+0

空字符串是不同的,以空 –

回答

3
var value = (object) DBNull.Value; 
DateTime parsedDate; 
if (DateTime.TryParseExact(maskedTextBox2.Text, "dd.MM.yyyy", null, 
          DateTimeStyles.None, out parsedDate)) 
{ 
    value = parsedDate; 
} 
prikaz.Parameters.AddWithValue("zodjdate", value); 
+0

這給了我這個錯誤:無法確定條件表達式的類型,因爲之間不存在隱式轉換:System.DBNUll和字符串。感謝您的幫助,但我該如何處理? – Marek

+1

對,你應該將'DBNull.Value'強制轉換爲'object'。 ':'的兩邊都可以轉換爲'object'。 – Andomar

+0

再次感謝,我嘗試過,但它仍然給了我相同的錯誤消息:它無法將符號轉換爲日期數據類型。你不知道錯誤可能在哪裏嗎? – Marek