La référence d'objet n'est pas définie à une instance d'un objet

Signaler
Messages postés
6
Date d'inscription
lundi 19 décembre 2016
Statut
Membre
Dernière intervention
20 décembre 2016
-
Messages postés
14478
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
8 avril 2020
-
Bonjour,
Je viens de rencontrer un blem en exécutant ce programme ce programme
foreach (DataGridViewRow dataRow in dataGridView1.Rows)
 {   
    SqlCommand SC = new SqlCommand(@"INSERT INTO [dbo].[CONFIGURATION]
            ([Nom_Famille]
              ,[Forme]
              ,[Numéro]
              ,[Status])
         VALUES
         ('" + comboBox2.Text + "','" + dataRow.Cells[0].Value.ToString() + "','" + dataRow.Cells[1].Value.ToString() + "','" + dataRow.Cells[2].Value.ToString() + "')", con.ActifCon());
    SC.ExecuteNonQuery();                                                   
}

les informations sont bien enregistrées dans la base de données mais j'ai une exception "
Informations supplémentaires : La référence d'objet n'est pas définie à une instance d'un objet." Pourriez vous m'aider à résoudre ce problème s'il vous plait?

7 réponses

Messages postés
14478
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
8 avril 2020
374
Bonjour

Ce message d'erreur signifie qu'une variable vaut null, qu'aucune adresse d'emplacement mémoire ne lui a été attribuée.

Quand ça plante, passe ta souris sur les variables de la ligne qui bogue. Attends l'infobulle qui donne le contenu et cherche celle(s) qui vaut null. Une fois trouvée, il faut remonter plus en amont pour savoir pourquoi elle n'a pas de valeur.
Messages postés
6
Date d'inscription
lundi 19 décembre 2016
Statut
Membre
Dernière intervention
20 décembre 2016

Bonjour Whismeril,

Je viens de voir par apport à ce que tu m'as dit. Car dans la base de données il y a la valeur null. Je regarde ça.
Messages postés
14478
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
8 avril 2020
374
Peut être, mais avec le bout de code que tu nous montres, tu ne la lit pas la base de données....

Donc regarde quelle variable est null quand ça plante.
Messages postés
6
Date d'inscription
lundi 19 décembre 2016
Statut
Membre
Dernière intervention
20 décembre 2016

Je t’informerai de la suite, modification de code.
Messages postés
6
Date d'inscription
lundi 19 décembre 2016
Statut
Membre
Dernière intervention
20 décembre 2016



Voila le message d'erreur
Messages postés
14478
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
8 avril 2020
374
Ecoute, si tu ne veux pas faire ce que je te propose, c'est pas la peine de venir poster une image illisible et forcément pas interactive
Messages postés
6
Date d'inscription
lundi 19 décembre 2016
Statut
Membre
Dernière intervention
20 décembre 2016

j'ai trouvé la solution de mon problème. Merci pour ton explication
Messages postés
6
Date d'inscription
lundi 19 décembre 2016
Statut
Membre
Dernière intervention
20 décembre 2016

('" + comboBox2.Text + "','" + dataRow.Cells[0].Value.ToString() + "','" + dataRow.Cells[1].Value.ToString() + "','" + dataRow.Cells[2].Value.ToString() + "')", con.ActifCon());

il n'a pas aimé le .ToString() devant Value.

('" + comboBox2.Text + "','" + dataRow.Cells[0].Value + "','" + dataRow.Cells[1].Value + "','" + dataRow.Cells[2].Value + "')", con.ActifCon());

Maintenant tout marche :-p
.
Messages postés
14478
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
8 avril 2020
374
Et donc quelle(s) variable(s) n'avai(en)t pas été initialisée(s)?
Messages postés
14478
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
8 avril 2020
374
Ce qui veut dire qu'au moins une cellule n'a pas été renseignée.