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

C# Discussion :

Problème de valeur NULL dans un datagridview [Débutant]


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé Avatar de thierry007
    Homme Profil pro
    Autodidacte
    Inscrit en
    Août 2006
    Messages
    876
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Autodidacte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2006
    Messages : 876
    Par défaut Problème de valeur NULL dans un datagridview
    Lorsque je vide un cellule du datagrid en appliquant un backspace, lors de la sauvegarde, je reçois le message suivant

    System.NullReferenceException*: 'La référence d'objet n'est pas définie à une instance d'un objet.'

    J'essaye de vérifier dans le validating si j'ai une valeur NULL ou pas, mais cela ne change rien. Je loupe a mon avis qq chose a un moment. Mais Ou

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     private void DgSessions_CellValidating(object sender, DataGridViewCellValidatingEventArgs e)
                {
                      if (DgSessions.CurrentCell.Value == DBNull.Value ) DgSessions.CurrentCell.Value = "";
                }

  2. #2
    Membre très actif
    Avatar de charouel
    Homme Profil pro
    Freelance
    Inscrit en
    Mars 2009
    Messages
    618
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2009
    Messages : 618
    Billets dans le blog
    9
    Par défaut
    Il faut savoir l'origine de ton erreur à mon avis c'est pas la valeur de la cellule car le DG accepte les valeurs nulles

  3. #3
    Membre expérimenté
    Homme Profil pro
    Analyste Programmeur
    Inscrit en
    Septembre 2008
    Messages
    176
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Analyste Programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 176
    Par défaut
    Bonjour,

    Tu essaye, quelque part dans ton code, d'utiliser un objet qui n'est pas instancié.
    L'exception levé devrait te dire sur quelle ligne est le problème.
    Rien a voir avec tes valeurs.

    Bonne continuation.

  4. #4
    Membre éprouvé Avatar de thierry007
    Homme Profil pro
    Autodidacte
    Inscrit en
    Août 2006
    Messages
    876
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Autodidacte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2006
    Messages : 876
    Par défaut
    Je vais regarder cela de plus près pendant la semaine
    Merci bien du suivit

  5. #5
    Membre éprouvé Avatar de thierry007
    Homme Profil pro
    Autodidacte
    Inscrit en
    Août 2006
    Messages
    876
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Autodidacte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2006
    Messages : 876
    Par défaut
    BOnjour

    En fait cette erreur est levée dans le cas ou:

    j'ai des données dans la cellule que j'efface en faisant un BackSpace, puis validé. lors de la boucle sur les lignes je lève cette erreur au moment de la lecture
    Si par contre j'efface les donnée et remet un caractère blanc ( 32 ) pas de problème

  6. #6
    Membre très actif
    Homme Profil pro
    Autodidacte
    Inscrit en
    Mars 2016
    Messages
    154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Autodidacte
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2016
    Messages : 154
    Par défaut
    Citation Envoyé par thierry007 Voir le message
    Lorsque je vide un cellule du datagrid en appliquant un backspace, lors de la sauvegarde, je reçois le message suivant

    System.NullReferenceException*: 'La référence d'objet n'est pas définie à une instance d'un objet.'

    J'essaye de vérifier dans le validating si j'ai une valeur NULL ou pas, mais cela ne change rien. Je loupe a mon avis qq chose a un moment. Mais Ou

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     private void DgSessions_CellValidating(object sender, DataGridViewCellValidatingEventArgs e)
                {
                      if (DgSessions.CurrentCell.Value == DBNull.Value ) DgSessions.CurrentCell.Value = "";
                }
    Bonjour,
    Je pense qu'après vidage de la cellule, tu pourrais avoir meilleur résultat en utilisant Trim() pour attribuer la valeur de ta CurrentCell à DBNull.

  7. #7
    Membre éprouvé Avatar de thierry007
    Homme Profil pro
    Autodidacte
    Inscrit en
    Août 2006
    Messages
    876
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Autodidacte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2006
    Messages : 876
    Par défaut
    Comme expliquer plus haut, si je place des données dans la cellule, que je quitte cette cellule. Et qu'en suite je reviens dessus, F2 pour passer en mode édition, je fais un Backspace pour la vider.
    Lorsque je fais ENTER pour valider, le message apparait "La référence d'objet n'est pas définie à une instance d'un objet."} System.NullReferenceException

    simplement placer cet Even dans le code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
                private void DataGridView_CellValidated(object sender, DataGridViewCellEventArgs e)
                {
                            MessageBox.Show(DataGridView.CurrentCell.Value.ToString());
                }

  8. #8
    Expert confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2006
    Messages
    3 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 580
    Par défaut
    c'est normal

    ton currentCell.Value est null, donc, appelé une méthode ToString() sur un objet null va lever cette exception

  9. #9
    Membre éprouvé Avatar de thierry007
    Homme Profil pro
    Autodidacte
    Inscrit en
    Août 2006
    Messages
    876
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Autodidacte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2006
    Messages : 876
    Par défaut
    Bonjour TheMonz31

    Oui, c'est bien là mon problème, mais comment vérifier cela et le corriger dans le programme, ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     if (DgSessions.CurrentCell.Value == DBNull.Value ) DgSessions.CurrentCell.Value = "";
    ne donne pas le résultat escompté, car si la cellule est vide et non pas Null, cela serait bien

  10. #10
    Expert confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2006
    Messages
    3 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 580
    Par défaut
    bah tu fais bien les tests que tu veux...

    en général, on fait dans l'ordre :

    "l'objet est-il nul ?"
    Si non, l'objet est-il vide ou à zéro ou à sa valeur par défaut" ?

    bref, tout à tout pour choisir.

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 22/01/2013, 16h23
  2. Problème pour mettre valeur NULL dans datarows
    Par b3rman dans le forum ASP.NET
    Réponses: 5
    Dernier message: 17/06/2009, 14h52
  3. Problème de valeur null dans un recordset
    Par Petzouille57 dans le forum Access
    Réponses: 3
    Dernier message: 19/05/2005, 11h27
  4. ASP et valeur NULL dans requêtes SQL
    Par chuck_m dans le forum ASP
    Réponses: 7
    Dernier message: 13/08/2004, 11h15
  5. Passer une valeur Null dans un argument de procédure
    Par preempalver dans le forum VBA Access
    Réponses: 5
    Dernier message: 30/12/2003, 20h52

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