Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3316 connectés 

  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  IsDBNull ??? vb.net

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

IsDBNull ??? vb.net

n°257317
guilloo
Posté le 29-11-2002 à 17:10:54  profilanswer
 

voila je dois tester si une valeur dans une base de données est null ou pas en vb.net
 
Je remarque que la fonction isnull (vb6) a changé en IsDBNull pour vb.net .
bon ok mais quand je fais le test du genre :
IsDBNull(DataSet1.table(0).champ)
il me marque l'erreur: Impossible d'obtenir la valeur, car elle est DBNull.  
 
C'est énorme car il me dit qu'elle est DBNull alors que c'est que je lui demande !!!
 
Remarque: quand la valeur n'est pas nule la fonction IsDBNull fonctionne bien et m'indique False....

mood
Publicité
Posté le 29-11-2002 à 17:10:54  profilanswer
 

n°257323
Harkonnen
Un modo pour les bannir tous
Posté le 29-11-2002 à 17:23:11  profilanswer
 

If (ton champ) Is System.DBNull.Value Then...


Message édité par Harkonnen le 29-11-2002 à 17:26:26

---------------
J'ai un string dans l'array (Paris Hilton)
n°257326
guilloo
Posté le 29-11-2002 à 17:35:23  profilanswer
 

non, ca fait toujours pareil...
pfff il est chiant ce vb.net parfois !

n°257328
Harkonnen
Un modo pour les bannir tous
Posté le 29-11-2002 à 17:38:04  profilanswer
 

guilloo a écrit a écrit :

non, ca fait toujours pareil...
pfff il est chiant ce vb.net parfois !




comment ça, ça fait tjs pareil ?
j'ai utilisé cette classe des dizaines de fois dans un projet en C#, et ça a marché à chaque fois !!
regarde donc dans la doc du framework la classe DBNull du namespace System, tu verras....


---------------
J'ai un string dans l'array (Paris Hilton)
n°257339
guilloo
Posté le 29-11-2002 à 17:56:59  profilanswer
 

bein oui mais dans mon cas ca ne marche pas...
pourtant des qu'il y a une valeur dans le champ de la base de donnée ca marche... mais bon le but c'est quand ce champ est vide !
voici la ligne qui est buggé:
 
If IsDBNull(dataset.table(Me.BindingContext(dataset, "table" ).Position).champ) Then
 
et la réponse que j'obtient:
 
Une exception non gérée du type 'System.Data.StrongTypingException' s'est produite dans appli.exe
 
Informations supplémentaires : Impossible d'obtenir la valeur, car elle est DBNull.

 
bizare qd meme...

n°257340
Harkonnen
Un modo pour les bannir tous
Posté le 29-11-2002 à 17:59:29  profilanswer
 

euh... juste une question !
le type de ton champ, c'est un string ?
si oui, alors il faut faire
 
If (ton champ) = "" Then...
 
System.DBNull.Value ne marche que pour les champs numériques...


---------------
J'ai un string dans l'array (Paris Hilton)
n°257344
guilloo
Posté le 29-11-2002 à 18:24:02  profilanswer
 

C'est effectivement un string mais normalement il y a aucun rapport (en vb6 isnull marchait très bien avec!) d'autant plus que j'ai essayé:
If dataset.table(Me.BindingContext(dataset, "table" ).Position).champ="" Then
 
et ca me donne toujours la réponse...

n°257352
guilloo
Posté le 29-11-2002 à 19:03:05  profilanswer
 

Bon j'ai pu résoudre mon problème en trouvant cette réponse :
"The exception is by design. You can't convert DBNull to a
string.
 
What do you want your function to return if the column
contains a null value? You could use the IsNull function on the
DataRow object to test for a Null value and avoid throwing the
exception.
 
There are a couple other options.
 
You can add attributes into your DataSet schema so the
strongly-typed DataSet class will automatically return a
particular value for the column when it contains DBNull. There's
a little bit of information on this in the documentation.
 
If you really have no use for null values in your database
or applications, you could mark the column in your database so it
does not support null values. Then mark the column in the
database and DataSet so its default value is an empty string."

 
J'ai testé en interdisant la valeur null et en mettant la valeur par défaut: "" ... ca marche et apparemment d'autres solutions me sont offertes... mais bon il est lourd ce vb.net...
 
En tout cas merci de m'avoir aidé, ca m'a permis d'aller sur de bonnes pistes !


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  IsDBNull ??? vb.net

 

Sujets relatifs
Plus de sujets relatifs à : IsDBNull ??? vb.net


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)