Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Nullable Object muss einen Wert #2 haben

Wie Sie gesagt haben, ist der Datentyp von u.LastLogon ist DateTime? . Dies bedeutet, dass es einen Wert haben kann oder nicht. Durch Casting zu DateTime , benötigen Sie einen Wert. In diesem Fall nicht.

Je nachdem, was Sie damit machen möchten, sollten Sie den HasValue überprüfen Eigenschaft:

userRow["LastLogon"] = u.LastLogin.HasValue ? 
                       (object) u.LastLogin.ToShortDateString() : DBNull.Value;

Wenn Ihre Datenbank LastLogon Spalte vom Typ DateTime ist, dann sollten Sie in der Lage sein:

userRow["LastLogon"] = u.LastLogin.HasValue ? 
                       (object) u.LastLogin.Value : DBNull.Value;