2016-05-27 14 views
1

Ich verwende sqlite und ich versuche, einen DateTime Wert einzufügen, jetzt in einigen Fällen geschehen, dass der Wert des null und ich diese Warnung erhalten:Kann nicht auf NULL festlegbaren Wert in sqlite db einfügen

Nullable-Objekt muss Wert haben

der Code, der den Fehler verursachen, ist dies:

command.Parameters.AddWithValue("Date", item.Start?.DateTime.Value.Date.ToString("yyyy-MM-dd")); 

command ist die SQLiteCommand und item ist eine Google Calendar Event (ich benutze die Google Kalender API).

Wie Sie sehen können Ich habe versucht zu beheben Start als nullable mit ? zu beheben, aber ich habe das gleiche Problem.

Der Wert Start ist dies: {Google.Apis.Calendar.v3.Data.EventDateTime}

ein Bild der Eigenschaften in .Start enthält Dies wird:

Test

Wie kann ich dieses Problem beheben?

Antwort

1

In diesem Fall wird das Objekt C# null ist, sollten Sie DB null verwenden, die DBNull.Value ist

command.Parameters.AddWithValue("Date", (item.Start) ?? DBNull.Value); 
+0

ich '.Start zugreifen müssen? .DateTime.Value.Date.ToString (" yyyy-MM -dd ")).' Also kann ich das nicht benutzen ?? Operator. – D3bug

+0

nein, wenn Sie das brauchen, sollten Sie eine if-Anweisung verwenden –

Verwandte Themen