2011-03-16 3 views
1

데이터 형식이 DateTimeLastCheck의 SQL Server 데이터베이스 항목이 있습니다.데이터가 없으면 (SQL Server 데이터베이스에서) 무엇을 저장해야합니까?

먼저 저장하면 값이 없으므로 NULL입니다. LastCheck은 널 (null)을 허용하도록 구성됩니다.

내 진술에 무엇을 삽입해야합니까? 코드에서 LastCheck을 초기화하는 방법은 무엇입니까? DateTimenull으로 변환해야합니까 ?? 나는 DateTime 값이기 때문에 단지 LastCheck = null을 할 수 없습니다.

cmd.Parameters 
    .Add(new SqlParameter("@LastCheck", job.LastCheck ?? DbNull.Value)); 

답변

6

당신은 DbNull.Value를 사용하여 널 (null)을 삽입한다!

cmd.Parameters.Add(new SqlParameter("@LastCheck", SqlDbType.DateTime)); 
cmd.Parameters["@LastCheck"].Value = DBNull.Value; 
+0

내 lastcheck은 DateTime 유형입니다. 변환해야합니까? –

+0

@Ragims : SQL Server의 열에 null이 허용되면 'DBNull.Value'를 전달할 수 있습니다. –

0

DBNull.Value은 정답을 - 그리고 나는 또한 그것의 유형을 지정하는 것이 좋습니다 :

Job job = new Job(); 
job.LastCheck = null; 

cmd.CommandText = "INSERT INTO Jobs (LastCheck)" 
        + " VALUES (@LastCheck)"; 

cmd.Parameters.Add(new SqlParameter("@LastCheck", job.LastCheck)); 
관련 문제