как да запишете нулева стойност в subsonic

 Dim xbg As Rm

xbg.LobId = cmb_lob.SelectedValue
xbg.Mobile = mobno.Text
xbg.BusinessFax = faxno.Text
xbg.BusinessPhone = phno.Text
xbg.Save()

Имам разгъващ се списък, който не е задължителен при въвеждане в модула. следователно потребителят може да избере празна стойност в комбо cox, за която искам да запазя null в Oracle Database за този запис. Опитах със следното условие, но не успях да получа резултат. вие сте помолени да помогнете

if cmb_lob.selectedindex=-1 then 
    xbg.lob=dbnull 
else 
    xbg.LobId = cmb_lob.SelectedValue

Действителният проблем възниква, когато първият потребител запази запис със селекция в комбинираното поле, след което потребителят редактира този запис и избере празно от комбинираното поле. сега трябва да заменя стойността на полето combox с null в базата данни.


person Faizan Dosani    schedule 01.09.2009    source източник


Отговори (3)


опитвам:

if cmb_lob.selectedindex <> -1 then 
    xbg.LobId = cmb_lob.SelectedValue
else
    xbg.LobId = Nothing 'suggested by John Shean (see comments)

Така че ако стойността е избрана само тогава я присвоете на поле, иначе я оставете както е (нула)

person TheVillageIdiot    schedule 01.09.2009
comment
Действителният проблем възниква, когато първият потребител запази запис със селекция в комбинираното поле, след което потребителят редактира този запис и избере празно от комбинираното поле. сега трябва да заменя стойността на полето combox с null в базата данни. - person Faizan Dosani; 01.09.2009
comment
БЛАГОДАРЯ ВЕДНЪЖ, НО XBG.LOB Е ЧИСЛОВ ТИП, КОГАТО НАПРАВЯ СЛЕДНОТО XBG.LOBID=DBNULL.VALUE, ПОЛУЧАВА ИЗКЛЮЧЕНИЕ ЗА НЕВАЛИДЕН ТИП КАСТ. - person Faizan Dosani; 01.09.2009
comment
Вместо това опитайте xbg.LobId = нищо - person John Sheehan; 01.09.2009

Задайте го на null или каквото VB смята за null - то ще бъде зададено в DB по този начин.

person Community    schedule 01.09.2009

Опитайте xbg.LobId = нищо вместо това – от John Sheehan

person Faizan Dosani    schedule 02.09.2009