2013-07-14 1 views
1

maskedtextbox이 있는데 날짜는 SQL data type에 삽입됩니다. SQL에서는 null을 허용하지만이 maskedtextbox를 비어 넣으려고하면 NULL이 허용됩니다. 기호를 날짜 데이터 형식으로 변환 할 수 없다는 오류가 발생합니다. 이 maskedtextbox는 과 같습니다..MaskedTextbox가 NULL 날짜를 SQL에 삽입 할 수 없습니다

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

가 어떻게 그것이 널 (null)을 삽입 할 수 있도록 변경해야합니다 : _ _ (DD.MM.YYYY) SqlCommand INTO INSERT에 대한

Parameter이 무엇입니까?

미리 감사드립니다. 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

null로 다른 : System.DBNUll 문자열 : 사이에 암시 적 변환이 없기 때문에 조건식의 종류를 판별 할 수 없습니다. 도움을 주셔서 감사합니다.하지만 어떻게해야합니까? – Marek

+1

맞습니다.'DBNull.Value'를'object'로 형변환해야합니다. ':'의 양쪽을'object'로 변환 할 수 있습니다. – Andomar

+0

다시 한번 감사 드리지만, 그것은 여전히 ​​나에게 다음과 같은 오류 메시지를 표시합니다. 기호를 날짜 데이터 유형으로 변환 할 수 없습니다. 오류가 어디에 있는지 알 수 없습니까? – Marek

관련 문제