J'utilise Visual Basic.NET, mon programme lit une base de donnees Access. En
lisant ligne par ligne, certains criteres me permettent de determiner si une
valeur est retournee dans une arraylist. Le probleme que j'ai se trouve au
niveau de la lecture des criteres. Ceux ci dependent de la valeurs d'une
cellule a l'interieur de chaque ligne. Celle ci est lue par un ExecuteReader,
mais lorsque celle -ci est vide (pas de valeur dans la cellule), un message
d'erreur apparait:
Cast from type 'DBNull' to type 'String' is not valid.
Comment puis-je regler ce probleme et alors pouvoir cette cette cellule sans
valeur sans message d'erreur?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Millox Frédéric
Salut Remy,
Le Cast que tu essayes de faire est bien un .ToString de la cellule que te retourne l'ExecuteReader ??? Si c'est ça il suffit de tester la cellule pour voir si elle contient 'DBNull'
ex : If Not cellule Is System.DBNull.Value Then Tu appliques ton Cast
Sinon tu peux mettre le code histoire de tester.
A+
-- fmillox
"Remy" a écrit :
Bonjour,
J'utilise Visual Basic.NET, mon programme lit une base de donnees Access. En lisant ligne par ligne, certains criteres me permettent de determiner si une valeur est retournee dans une arraylist. Le probleme que j'ai se trouve au niveau de la lecture des criteres. Ceux ci dependent de la valeurs d'une cellule a l'interieur de chaque ligne. Celle ci est lue par un ExecuteReader, mais lorsque celle -ci est vide (pas de valeur dans la cellule), un message d'erreur apparait:
Cast from type 'DBNull' to type 'String' is not valid.
Comment puis-je regler ce probleme et alors pouvoir cette cette cellule sans valeur sans message d'erreur?
Merci d'avance
Remy
Salut Remy,
Le Cast que tu essayes de faire est bien un .ToString de la cellule que te
retourne l'ExecuteReader ???
Si c'est ça il suffit de tester la cellule pour voir si elle contient
'DBNull'
ex : If Not cellule Is System.DBNull.Value Then Tu appliques ton Cast
Sinon tu peux mettre le code histoire de tester.
A+
--
fmillox
"Remy" a écrit :
Bonjour,
J'utilise Visual Basic.NET, mon programme lit une base de donnees Access. En
lisant ligne par ligne, certains criteres me permettent de determiner si une
valeur est retournee dans une arraylist. Le probleme que j'ai se trouve au
niveau de la lecture des criteres. Ceux ci dependent de la valeurs d'une
cellule a l'interieur de chaque ligne. Celle ci est lue par un ExecuteReader,
mais lorsque celle -ci est vide (pas de valeur dans la cellule), un message
d'erreur apparait:
Cast from type 'DBNull' to type 'String' is not valid.
Comment puis-je regler ce probleme et alors pouvoir cette cette cellule sans
valeur sans message d'erreur?
Le Cast que tu essayes de faire est bien un .ToString de la cellule que te retourne l'ExecuteReader ??? Si c'est ça il suffit de tester la cellule pour voir si elle contient 'DBNull'
ex : If Not cellule Is System.DBNull.Value Then Tu appliques ton Cast
Sinon tu peux mettre le code histoire de tester.
A+
-- fmillox
"Remy" a écrit :
Bonjour,
J'utilise Visual Basic.NET, mon programme lit une base de donnees Access. En lisant ligne par ligne, certains criteres me permettent de determiner si une valeur est retournee dans une arraylist. Le probleme que j'ai se trouve au niveau de la lecture des criteres. Ceux ci dependent de la valeurs d'une cellule a l'interieur de chaque ligne. Celle ci est lue par un ExecuteReader, mais lorsque celle -ci est vide (pas de valeur dans la cellule), un message d'erreur apparait:
Cast from type 'DBNull' to type 'String' is not valid.
Comment puis-je regler ce probleme et alors pouvoir cette cette cellule sans valeur sans message d'erreur?
Merci d'avance
Remy
Remy
Ouah...
La reponse semble simple, mais ca marche. Merci encore.
Remy
Ouah...
La reponse semble simple, mais ca marche.
Merci encore.