2016-04-05 54 views
0

VB uygulamasına sahibim. BenNULL değeri veritabanına geçirilemiyor

Public Structure Deal 

Public IsUser As Boolean? 

End Structure 

Bazı başka bir yerde böyle bir özellik, ben

bject.IsUser = Nothing 

Şimdi SP parametre olarak bu geçirerek kendisine BOŞ atama am var. hatasız

atma hattı üzerinde

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

[InvalidOperationException. Null nesnenin bir değere sahip olması gerekir]

+0

Sana nothing' 'yerine DBNull'' de ayrıştırmak gerektiğini düşünüyorum gibi değişken geçmek. İkisi arasında bir fark var. –

+0

Bu gönderiyi kontrol edin ... http://stackoverflow.com/questions/5362437/assign-null-value-to-boolean-variable –

cevap

0

Nothing ve DBNull aynı değildir. hile yapmak gerekir takiben:

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

Artık hata gösteriyor "Tür 'DBNull' türünden 'Dize' yazmak için değil geçerli." – user1926138

+0

Hangi .NET sürümünü kullanıyorsunuz? –

+0

Kullanıyorum. Net 3.5 – user1926138

0

sahip db boş yerine hiçbir şey

bject.IsUser = DBNull.Value