Conversion de type

Belgican Messages postés 14 Date d'inscription mardi 9 décembre 2014 Statut Membre Dernière intervention 22 juillet 2015 - Modifié par Whismeril le 22/07/2015 à 19:12
cs_ShayW Messages postés 3253 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 3 décembre 2019 - 23 juil. 2015 à 00:05
Bonjour,

je récupère un dataset via une requête à ma base de donnée. Dans ce dataset j'ai une table "Materiel" ( je l'ai appelé ainsi) avec plusieurs champ dont un champ qui est "NULL" qui sera rempli par la suite par un integer. Disons que j'appel ce dataset : MonDataSet

Ensuite je crée une classe "Matériel" avec ses attribut et une list (of Materiel) que je vais appeler " Malist"

je souhaite donc ajouter du matériel a ma Malist en lui donnant les valeurs récupérer de mon dataset.
J'envoie donc les valeurs de mon dataset au constructeur de materiel en faisant:

Malist.add(new materiel(row("ID"),row("Nom"),row("Type"),row("Prix"))


Le problème que je rencontre maintenant c'est que si dans mon dataset, prix est "NULL" ça ne fonctionne pas alors que quand il y a une valeur attribué, cela fonctionne.

Savez-vous pourquoi ?

EDIT: Ajout de la coloration syntaxique.

5 réponses

Whismeril Messages postés 19027 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 24 avril 2024 656
22 juil. 2015 à 19:11
Bonjour, pour te répondre avec certitude, il faudrait voir le constructeur de la classe Materiel,utilisant la coloration syntaxique.

Mais il est probable que prix soit d'un type non nullable.
0
Belgican Messages postés 14 Date d'inscription mardi 9 décembre 2014 Statut Membre Dernière intervention 22 juillet 2015
22 juil. 2015 à 20:42
Voici le constructeur avec paramètre

Sub new(byval ID as integer, byval nom as string, byval type as string,byval prix as integer)

ID_= id
nom_ = nom
type_ = type
prix_ = prix

end sub
0
Whismeril Messages postés 19027 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 24 avril 2024 656
22 juil. 2015 à 20:49
ok,

donc prix_ doit être d'un type non nullable, double par exemple.

Il suffit de faire

if prix is nothing then
    prix_ = 0
else
    prix_ = prix
end if

0
Belgican Messages postés 14 Date d'inscription mardi 9 décembre 2014 Statut Membre Dernière intervention 22 juillet 2015
22 juil. 2015 à 20:59
C'est pas possible de faire un truc du genre:

if prix is nothing then
prix = " " 

else

prix_ = prix

end if 


Parce que ce code je l'ai test mais ça fonctionne pas non plus :/

? ^^
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
Modifié par ucfoutu le 22/07/2015 à 21:23
Bonjour,
Excuse-moi, mais je n'y peux rien : je suis encore sur le coup de la colère (un autre fil de discussion) provoquée par un manque de rigueur.
Relis ton code et corrige-toi, s'il te plait.
(quel est le type de prix ????? ... un string, ce qu'est " " ? ??? ... A comparer avec ton byval prix as integer)
0
Whismeril Messages postés 19027 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 24 avril 2024 656
22 juil. 2015 à 21:37
Bonsoir Uc, (je n'avais pas fait glissé le code jusqu'au byval prix as interger.....)

@Belgican, non ça n'est pas possible, si dans mon exemple j'ai mis 0 ça n'est pas pour rien.

Si zéro ne te convient pas mets une valeur impossible (par exemple un prix négatif n'existe pas)

Ou alors utilise le type entier nullable
Dim entierNullable As Nullable(Of Integer) = Nothing


mais dans tous les cas il n'acceptera pas " "
0
Belgican Messages postés 14 Date d'inscription mardi 9 décembre 2014 Statut Membre Dernière intervention 22 juillet 2015
Modifié par Belgican le 22/07/2015 à 22:22
le NULL de mon dataset est de quel type en faite ?
Parce que meme en metant is nothing dans mon if, il passe direct au else, donc j'en deduis que c'est pas un nothing ? ^^ Parce qu'au final quand je recuperes la valeur dans ma base de donnée, c'est un int donc je suis un peu perdu ^^

Merci de prendre du temps pour me répondre, ça fait plaisir d'avoir un peu de soutient :p
0
Whismeril Messages postés 19027 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 24 avril 2024 656 > Belgican Messages postés 14 Date d'inscription mardi 9 décembre 2014 Statut Membre Dernière intervention 22 juillet 2015
22 juil. 2015 à 22:48
le NULL de mon dataset est de quel type en faite ?
n'ayant jamais fait de base de donnée SQL je ne peux répondre à ça.
Il faut attendre le passage d'un autre membre.
0
Whismeril Messages postés 19027 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 24 avril 2024 656 > Whismeril Messages postés 19027 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 24 avril 2024
22 juil. 2015 à 22:52
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_ShayW Messages postés 3253 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 3 décembre 2019 57
23 juil. 2015 à 00:05
Bonjour

Quelle base de données ?
Pourquoi déclarer le champ avec Null si c'est le champ prix ce n'est
pas logique de permettre la valeur null
0
Rejoignez-nous