Erreur C#

112345 Messages postés 20 Date d'inscription mercredi 12 mars 2008 Statut Membre Dernière intervention 19 décembre 2008 - 18 déc. 2008 à 17:31
cs_Robert33 Messages postés 834 Date d'inscription samedi 15 novembre 2008 Statut Membre Dernière intervention 14 janvier 2017 - 20 déc. 2008 à 21:43
Salut tout le monde, j'ai eu une erreur pendant la manipulation de mon interface graphique réalisée avec C#.En fait quand je saisie le login et le mot de passe et je clique par la suite sur le bouton OK de cette interface.Ce message d'erreur apparaît à l'écran: impossible d'effectuer un cast d'un objet de DBNull en d'autres types.
En fait, 'ai perdu beaucoup de temps à en chercher la cause mais malheureusement je n'ai pas réeussi à la trouver.
Remarque:J'utilise MySQLServer 5.0 comme serveur de bases de données, My SQLFront pour se connecter aux bases de mon application
Aidez moi s'il vous plaît, j'ai besoin d'une réponse le plus tôt possible.Merci
De plus 'ai une base de données mycaisse réalisée avec MySql Server 5.0 et je me suis connectée à cette base avec MySQL fRONT 3.0 mais dans le projet, la référence Mycaisse à cette base n'est pas générée :comment puisse-je ajouter cette référence ?  
Aidez moi s'il vous plaît rapidement.J'ai besoin d'une réponse.

1 réponse

cs_Robert33 Messages postés 834 Date d'inscription samedi 15 novembre 2008 Statut Membre Dernière intervention 14 janvier 2017 33
20 déc. 2008 à 21:43
Bonsoir.

Sans connaitre ton application il est difficile de répondre à coup sûr.
Mais je pense que tu essaies de récupérer une valeur alors que dans la base la valeur est "null"

Lors des requêtes sur une base, via un datareader par exemple, il faut tester les DbNull avant de manipuler les données.
Par exemple:<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /??>



DateTime ExecutionDate=reader.GetDateTime(reader.GetOrdinal("EXECUTION_DATE"));



va générer l'exception si la valeur dans la base est nulle,

solution:
DateTime ExecutionDate=DateTime.MinValue;

if (!reader.IsDBNull(reader.GetOrdinal("EXECUTION_DATE")))
   ExecutionDate=reader.GetDateTime(reader.GetOrdinal("EXECUTION_DATE"));





C# is amazing, enjoy it!
0
Rejoignez-nous