2009-09-01 11 views
0
Dim xbg As Rm 

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

J'ai une liste déroulante, qui n'est pas obligatoire lors de l'entrée dans le module. par conséquent, l'utilisateur peut sélectionner une valeur vide dans combo cox pour laquelle je veux enregistrer null dans Oracle Database pour cet enregistrement. J'avais trid avec la condition suivante mais n'obtient pas le résultat. il vous est demandé de bien vouloir aidercomment enregistrer la valeur nulle dans Subsonic

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

problème réel se pose lorsque premier utilisateur de sauvegarder l'enregistrement avec la sélection dans zone de liste déroulante, puis modifier l'utilisateur que d'enregistrement et sélectionnez vide de zone de liste déroulante. maintenant je dois remplacer la valeur de la boîte de combox avec null à la base de données.

Répondre

0

essayer:

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

Alors que si la valeur est sélectionnée alors seulement l'assigner à champ autre le laisser tel qu'il est (null)

+0

problème réel se pose lorsque premier utilisateur de sauvegarder l'enregistrement avec la sélection dans zone de liste déroulante puis modifier utilisateur qui enregistrement et sélectionnez vide de zone de liste déroulante. maintenant je dois remplacer la valeur de la boîte de combox avec null à la base de données. –

+0

toute aide appréciée –

+0

s'il vous plaît essayez DbNull.Value – TheVillageIdiot

1

Set à null ou quoi que VB considère null - il sera défini dans la base de données de cette façon.

0

Essayez xbg.LobId = Nothing à la place - par John Sheehan

Questions connexes