IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

[C#] Probleme de lecture de valeur nulle


Sujet :

ASP.NET

  1. #1
    Nouveau membre du Club
    Inscrit en
    Mai 2004
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 75
    Points : 38
    Points
    38
    Par défaut [C#] Probleme de lecture de valeur nulle
    Bonjour,
    Je fais un SELECT d'1 table et j affiche les renseignements dans des textbox.J affiche aussi dans des dropdownlist une 2eme table mais la valeur par defaut est celle ki est contenu dans la 1er table(en rapport avec son enregistrement).
    Lorsque je rentre dans la BD des valeurs nulles alors lorsque je compile,il me dis kil ne peu pas lire de valeur nulle.
    Voici mon code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    string SQL="SELECT....
     
    SqlCommand myCommand = new SqlCommand(SQL,myConnection);				
     
    //recuperation des valeurs dans la requete SQL et affectation dans les champs avec TextBox
     
    SqlDataReader myReader=myCommand.ExecuteReader();
     
    myReader.Read();
     
    VarIdRenseignement = myReader.GetInt32(0);
    Session["VarIdRenseignement"]= VarIdRenseignement;
     
     
    //recuperation de la valeur permettant d afficher le DropDownList par ca valeur en question			
    VarIdType = myReader.GetInt32(1);
     
    //recuperation de la valeur por afficher le contenu dans un TextBox
    Documentation.Text = myReader["Documentation"].ToString(); 
     
    myReader.Close();
    La seule valeur qui n'est pas nulle et obligoire est la variable VarIdRenseignement.J ai entendu parler de "DbNull" mais je n arrive pas a l'utiliser. Si quelqu'una une idee, alors merci d'avance

    [Balise [Code] ajoutée par freegreg]
    [Pensez-y, vous-même, la prochaine fois. Merci ]

  2. #2
    Membre régulier Avatar de chman
    Inscrit en
    Novembre 2002
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 94
    Points : 97
    Points
    97
    Par défaut
    salut,

    tu as une erreur à la compilation ou à l'éxécution ?
    tu peux préciser où plus présicement dans ton code

  3. #3
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Points : 19 434
    Points
    19 434
    Par défaut
    Cela doit être lors des

    GetInt32

    qui ne doivent pas supportés le null.

    Essaye d'utiliser GetSqlValue : http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemdatasqlclientsqldatareaderclassgetsqlvaluetopic.asp

  4. #4
    Nouveau membre du Club
    Inscrit en
    Mai 2004
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 75
    Points : 38
    Points
    38
    Par défaut
    Non il compile bien mais a l execution il me di kil ne peu pas lire des champs nulle or VarIdRenseignement n est pas nulle

  5. #5
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Points : 19 434
    Points
    19 434
    Par défaut
    Regarde mon post précédent

  6. #6
    Nouveau membre du Club
    Inscrit en
    Mai 2004
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 75
    Points : 38
    Points
    38
    Par défaut
    Ok je vais tester avec GetSqlValue voir ce ke ca donne.Merci

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    12
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 12
    Points : 6
    Points
    6
    Par défaut Help Me !
    Bonjour à tous et à toutes !

    Saches mon brave que j'ai exactement le même soucis que toi, donc j'aimerais simplement savoir si tu avais trouvé une solution à ton problème. Je me suis battu avec les DBNull mais rien y fait. De même pour le GetValue.

    Je récupère une valeur dans un champ de BDD qui est null. Je la récupère via un mySqlRdr.GetInt32(2), mais toujours la même erreur s'offre à moi.

    Erreur : "Les données sont null. Cette méthode ou propriété ne peut pas être appelée sur des valeurs Null."
    J'ai essayé de convertir la valeur récupérée en faisant un Convert.IsDBNull(mySqlRdr.GetInt32(2)), et d'autres conversions encore mais toujours la même erreur.

    Help me please ! ^^

  8. #8
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2010
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Gestion des valeurs null
    Réponse un peu tardive, mais comme j'ai eu le même problème, je l'écris ici.

    Pour gérer les valeurs null remontée par la base, on peut utiliser la fonction isDBNull de la manière suivante

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    variable = reader.IsDBNull(ord) ? 0 : reader.GetInt32(ord)
    On teste donc si la valeur est null :
    - si oui alors on lui attribue une valeur par défaut (en adéquation avec le type de la variable affectée)
    - sinon on va lire la donnée

    remarques :
    * ord : il faut remplacer par le numero du champ voulu
    * pour une variable de type int, j'ai pas réussi à mettre une valeur "null", il me semble en effet que cela ne soit pas prévu. Donc obliger de mettre une valeur arbitraire et ensuite éventuellement de traiter cette valeur arbitraire comme = null.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Probleme validateur et valeur null
    Par drim dans le forum JSF
    Réponses: 2
    Dernier message: 17/03/2008, 09h26
  2. Probleme Resultset et valeur NULL dans la bdd
    Par banania dans le forum JDBC
    Réponses: 4
    Dernier message: 18/04/2007, 12h54
  3. Valeur null lors de la lecture apres un insert
    Par omlip dans le forum Hibernate
    Réponses: 1
    Dernier message: 07/07/2006, 13h56
  4. Probleme de requete SQL avec la valeur NULL
    Par samyghan dans le forum Installation
    Réponses: 8
    Dernier message: 12/03/2006, 17h24
  5. Sql Server Express - Probleme index unique et valeurs null
    Par Fayoul dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 17/02/2006, 17h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo