2016-04-05 12 views
0

Ich habe eine VB-Anwendung. Ich habe eine Eigenschaft wieNULL-Wert konnte nicht an Datenbank übergeben werden

Public Structure Deal 

Public IsUser As Boolean? 

End Structure 

Einige andere Ort, ich NULL bin zuweisen, um es

bject.IsUser = Nothing 

Jetzt habe ich dies als Parameter SP am geben.

AddParameter(SQLCommand, "@IsUser", SqlDbType.Bit, ParameterDirection.Input, obj.IsUser) 

Above Linie werfen fehler-

[InvalidOperationException:. Nullable-Objekt muss einen Wert haben]

+0

Ich glaube, Sie in 'DBNull' statt' nothing' analysieren müssen. Es gibt einen Unterschied zwischen den beiden. –

+0

Überprüfen Sie diesen Beitrag ... http://StackOverflow.com/Questions/5362437/assign-null-value-to-Boolean-Variable –

Antwort

0

Nothing und DBNull sind nicht das gleiche. Im Anschluss sollte es tun:

AddParameter(SQLCommand, "@IsUser", SqlDbType.Bit, ParameterDirection.Input, If(obj.IsUser Is Nothing, DBNull.Value, obj.IsUser)) 
+0

Jetzt zeigt es Fehler "Konvertierung vom Typ 'DBNull' zu Typ 'String' ist nicht gültig." – user1926138

+0

Welche .NET Version verwenden Sie? –

+0

Ich benutze .net 3.5 – user1926138

0

Sie haben Ihre Variable als db null passieren, anstatt nichts

bject.IsUser = DBNull.Value