Don't break loop on NullReferenceException. ...

Without this, the exception is caught in the PopulateWithSqlReader
function and terminates the loop, leaving all columns that appear after
the problematic column to their default values.

We catch the NullReferenceException when we attempt to set the value
instead of allowing it to propagate to the column loop so that only the
problematic column will be left inept.