2011-11-24 2 views
0

null 값을 asp.net의 datetime 데이터 유형에 전달하는 방법은 무엇입니까?null 값을 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

간단한 것입니다.

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

는 또한 DateTime? 또는 Nullable

2

DateTime은 값 유형이며 null 일 수 없습니다. Nullable<DateTime> (또는 구문 단축 양식 DateTime?)을 대신 사용할 수 있습니다.

다음은 예입니다 :

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

datetimeStyle.None은 네임 스페이스가 추가 된 오류입니다. pls는 나에게 약간의 아이디어를 제공합니다. – hmk

+0

DateTimeStyles 열거 형은 사용자가 요청한 경우 System.Globalization 네임 스페이스에 있습니다. [DateTime formats here] (http://www.csharp-examples.net/string-format-datetime/)도 확인해야합니다. –

3

날짜 시간이 nullable 형식이 아닙니다. 당신이 DateTime.MinValue

에 동일의 값을 제공하지 않으면 당신이 관심이 있다면 당신은

DateTime? MyNullableDateTime; 

This question는이 질문에 대해 자세한 내용을 가지고 사용할 수 있습니다.

0

DBNull.Value으로 전달할 수 있습니다. 그래서 당신이 NULL 값을 전달 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()); 
} 
관련 문제