replace
DateTime startingDate;
with
DateTime? startingDate;
The question mark marks it as a nullable value and your reader should be able to set startingdate to null instead of throwing an exception.
you could also check for null values while your reader is working and replace null values with empty strings
while(reader.read())
{
//column is an int value of your column. I.e: if the column ist the 8th column, set column to 7 (0-based)
StartingDate = (reader.IsDBNull(column)) ? null : reader.GetOrdinal("STARTINGDATE"));
//instead of null you could also return a specific date like 1.1.1900 or String.Empty
}