begin process at 2012 05 27 18:01:02
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive ASP & ASP.NET

 > 

Archives ASP & ASP.NET

 > 

Débutants

 > 

[ASP.Net] Insérer une valeur nulle dans un dataset


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

[ASP.Net] Insérer une valeur nulle dans un dataset

mardi 22 mars 2005 à 17:00:24 | [ASP.Net] Insérer une valeur nulle dans un dataset

kallahan03

Membre Club
Bonjour à tous

j'ai un datagrid complet (insert, update, delete) dans lequel je liste avec un dataset des produits qui ont chacun un prix normal et un prix promo.
lorsque je modifie ou créé un produit, j'oblige à saisir un prix normal mais le prix promo est facultatif.
dans ma base données Sql server, les champs prix et prix promo sont float.
cependant, je suis obligé de vérifier le champ prix promo afin d'insérer une valeur "Nothing" si le champ est vide car j'ai une erreur lorsque je tente d'insérer une valeur nulle.
"Nothing" insère un 0 dans le champ float.

avec un peu de code ça sera plus clair :

Dim iCodePneu As Integer = CType(dgPneusFournisseurs.DataKeys(e.Item.ItemIndex), Integer)
Dim iCodeFournisseur As Integer = CType(e.Item.Cells(0).Text, Integer)
Dim iCodePneuFournisseur As String = CType(e.Item.FindControl("tbEditCodeFournisseur"), TextBox).Text
Dim fPrix As Double = CType(e.Item.FindControl("tbEditPrix"), TextBox).Text

Dim fPrixPromo As Double

If CType(e.Item.FindControl("tbEditPrixPromo"), TextBox).Text <> Nothing Then

fPrixPromo = CType(e.Item.FindControl("tbEditPrixPromo"), TextBox).Text

Else

fPrixPromo = Nothing

End If

Dim fRemise As Double

If CType(e.Item.FindControl("tbEditRemise"), TextBox).Text <> Nothing Then

fRemise = CType(e.Item.FindControl("tbEditRemise"), TextBox).Text

Else

fRemise = Nothing

End If

Dim iStock As Integer = CType(e.Item.FindControl("tbEditStock"), TextBox).Text
Dim sCommentaire As String = CType(e.Item.FindControl("tbEditCommentaire"), TextBox).Text

Dim ModifRow As DataSet2.PNEU_FOURNISSEURRow

ModifRow = dsInsertPneusFournisseurs.PNEU_FOURNISSEUR.FindBycode_pneucode_fournisseur(iCodePneu, iCodeFournisseur)

With ModifRow

.code_pneu_fournisseur = iCodePneuFournisseur
.prix_pneu_fournisseur = fPrix
.prix_promo_pneu_fournisseur = fPrixPromo (si ici je met une valeur autre que Nothing ou une valeur float, j'obtiens une erreur)
.remise_pneu_fournisseur = fRemise
.stock_pneu_fournisseur = iStock
.comment_pneu_fournisseur = sCommentaire

End With

daInsertPneusFournisseurs.Update(dsInsertPneusFournisseurs)
dvPneusFournisseur.RowFilter = "code_pneu = " & iCodePneu
dvPneusFournisseur.Sort = "code_fournisseur"
daPneusFournisseur.Fill(dsInsertPneusFournisseurs)
dgPneusFournisseurs.EditItemIndex = -1
dgPneusFournisseurs.DataBind()



Voila, ce que je souhaiterai, c'est savoir comment insérer une valeur nulle ("NULL") dans un champ float de la base de données avec un dataset

Merci à tous pour votre aide.

 

mardi 22 mars 2005 à 17:43:42 | Re : [ASP.Net] Insérer une valeur nulle dans un dataset

jesusonline

Membre Club Administrateur CodeS-SourceS
dbnull je crois, qui se trouve dans System.DBnull




Cyril - MCP ASP.net
Webmaster de : Hoshimi.CodeS-SourceS.fr
mercredi 23 mars 2005 à 10:06:18 | Re : [ASP.Net] Insérer une valeur nulle dans un dataset

kallahan03

Membre Club

Comment utiliser System.DBnull ?
J'ai essayé plusieurs manières :


Dim fPrixPromo As Double

If CType(e.Item.FindControl("tbEditPrixPromo"), TextBox).Text <> Nothing Then

 fPrixPromo = CType(e.Item.FindControl("tbEditPrixPromo"), TextBox).Text

Else

fPrixPromo = Convert.ToDouble(DBNull.Value)

End If


Ou bien :

Dim fPrixPromoNull As DBNull
Dim fPrixPromo As Double

If CType(e.Item.FindControl("tbEditPrixPromo"), TextBox).Text <> Nothing Then

fPrixPromo = CType(e.Item.FindControl("tbEditPrixPromo"), TextBox).Text

Else

fPrixPromoNull = DBNull.Value

End If


Mais lorsque j'insère dans mon dataset avec l'une ou l'autre de ces méthodes j'obtiens une erreur :

.prix_promo_pneu_fournisseur = fPrixPromo ou bien fPrixPromoNull

Merci.



 

mercredi 23 mars 2005 à 10:15:18 | Re : [ASP.Net] Insérer une valeur nulle dans un dataset

kallahan03

Membre Club
J'ai également testé cette méthode :

Dim fPrixPromo As Double

Dim fPrixPromoNull As DBNull

Dim bPrixPromoNull As Boolean = False

If CType(e.Item.FindControl("tbEditPrixPromo"), TextBox).Text <> Nothing Then

fPrixPromo = CType(e.Item.FindControl("tbEditPrixPromo"), TextBox).Text

Else

bPrixPromoNull = True

fPrixPromoNull = Nothing

End If

With ModifRow
...

If bPrixPromoNull Then

.prix_promo_pneu_fournisseur = Convert.ToDouble(fPrixPromoNull)

Else

.prix_promo_pneu_fournisseur = fPrixPromo

End If

...
End
With


mais cette méthode insère un 0 dans le champ prix_promo_pneu_fournisseur (float) dans la base données, alors que je souhaite une valeur NULL.

 

mercredi 23 mars 2005 à 20:47:25 | Re : [ASP.Net] Insérer une valeur nulle dans un dataset

Yopyop

Salut,

est-ce que ta colonne dans ta table est bien définie ?
Default value = NULL ou isnullable ?

yopyop
jeudi 24 mars 2005 à 09:24:56 | Re : [ASP.Net] Insérer une valeur nulle dans un dataset

kallahan03

Membre Club
Oui, dans ma table, le champ a bien la valeur NULL par défaut, mais lorsque je teste avec .prix_promo_pneu_fournisseur = Nothing, cela insère un 0 au lieu d'une valeur nulle.

 

jeudi 24 mars 2005 à 10:50:58 | Re : [ASP.Net] Insérer une valeur nulle dans un dataset (Résolu)

kallahan03

Membre Club
Réponse acceptée !
ça y est ! j'ai trouvé la solution :


With ModifRow

....

.Setprix_promo_pneu_fournisseurNull()
....

End With


Il faut utiliser la propriété Set<Nom_du_champ>Null() de l'objet Dataset

Que du bonheur !

 

jeudi 24 mars 2005 à 10:52:27 | Re : [ASP.Net] Insérer une valeur nulle dans un dataset

kallahan03

Membre Club
Voici le lien que j'ai trouvé pour la solution : [ Lien ]

si ça peut aider...



Cette discussion est classée dans : item, prix, fournisseur, ctype, pneu


Répondre à ce message

Sujets en rapport avec ce message

Probleme SQL [ par yoyo ] Mon pb ne concerne pas directement ASP mais je suppose queqq'un pourra m'aider.La requete suivante est executee sur un serveur SQLServer 7.SELECT * FR MySql, MyODBC [ par @COI ] Mon site est actuellement hébergé chez un fournisseur qui me donne un libre accès au serveur Unix. J'ai installé MySql, sans Pb et peut aisément créer tableau dynamique en asp [ par amina ] Salut,Pour une transaction de vente, j'affiche une ligne concernant un article(idarticle,prix,quantité,prix_total), mais si le client veut acheter plu smartupload [ par vinc ] ou se trouve mon erreur("Variable objet ou variable bloc With non définie ")voici mon script :formulaire :<input type="file" name=" Récupérer le numéro auto... [ par dreamer12345 ] Bonjour,J'ai une base de donnée qui se présente à peu près comme ceci (en très simplifié évidemment) :id nom description prixID : Numéro automatiqu Alors ¤uro ??? [ par Florestan ] Ouaip dans ma base access je calcule le champ prix euro dans une requête à partir du champ prix franc... jusque là tout marche, j'ai le prix en euro a Hébergement avec un bon rapport qualité/prix [ par Xev ] Salut,Un hébergeur interessant avec un bon rapport qualité/prix: http://www.virtualogis.com/ Prb de pagination : HELP (urgent !) [ par Seboss ] Bonjour tt le monde !!!!ds mon site il y a une page qui affiche la liste de ts les user ! Comme il y en a bcp s'utilise la paggination !!!! c le meme 2 chiffres derrière la virgule [ par FrancoisPignon ] J'ai un p'tit problème... j'affiche un champ prix en euro qui malheureusement apparaît avec un certain nombre de chiffres derrière la virgule (7 je pe


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 8,939 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales