Marco Dinatsoli
Marco Dinatsoli

Reputation: 10590

Cannot cast DBNull.Value to type 'System.DateTime'. Please use a nullable type

This is my code

var finalResults = (from r in results.AsEnumerable()
                    where r.Field<DateTime>("PrintTime") is DBNull

where PrintTime is a column in my Sql Server 2008 r2 database, its type is datetime and it is nullable

I got this exception:

Cannot cast DBNull.Value to type 'System.DateTime'. Please use a nullable type.

Could you help please?

Upvotes: 2

Views: 10335

Answers (1)

Tim Schmelter
Tim Schmelter

Reputation: 460288

DataRow.Field supports nullable types, so use DateTime? instead of DateTime:

var finalResults = from r in results.AsEnumerable()
                   let printTime = r.Field<DateTime?>("PrintTime")
                   where !printTime.HasValue
                   select r;

Upvotes: 12

Related Questions