Afficher les donnees avec SqlDataReader

Résolu
CD - Modifié le 5 oct. 2021 à 20:42
Whismeril Messages postés 17820 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 3 octobre 2022 - 6 oct. 2021 à 12:17
Bonjour,
Je veux afficher les donnees sur mon datagrid avec les entetes deja nommees dans le datagrid je veux donc afficher les informations sans modifier les entetes et afficher exactement a l'endroit ou il faut.
 try
            {

                while (reader.Read())
                {
                    dataGridView1.CurrentRow.Cells["Column1"].Value = reader.GetValue(0).ToString();
                    dataGridView1.CurrentRow.Cells["Column2"].Value = reader.GetValue(1).ToString();
                    dataGridView1.CurrentRow.Cells["Column3"].Value = reader.GetValue(2).ToString();

                }
            }
            catch (Exception e)
            {
                MessageBox.Show(e.Message);
            }
            con.Close();


ca ne marche pas ca me renvois le message la reference d'un objet n'est pas definie a un objet S'il vous plait besoin d'aide Urgent
A voir également:

2 réponses

Whismeril Messages postés 17820 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 3 octobre 2022 618
5 oct. 2021 à 19:28
Bonjour

tout d'abord, merci d'avoir essayer d'utiliser les balises de codes, mais comme tu peux le voir le résultat n'est pas top.
Pour tes prochains posts, merci de lire ce petit tuto https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code sur leurs bonne utilisation

Ensuite, dire que c'est urgent ne va en aucun cas t'aider, voire même ça peut te desservir.
Les gens qui passent sur les forums pour lire et éventuellement répondre le font quand elle peuvent et quand elles le veulent que tu aies écrit urgent ou pas ne peut rien changer à ça.
Par contre quand enfin quelqu'un passe il peut penser que tu t'y es pris au dernier moment pour ton travail ou ton exercice et décider de ne pas répondre car il pense que tu aurais dû t'y mettre plus tôt. Donc au mieux tu auras une réponse un jour, au pire pas du tout. Tu augmentes juste le risque de pas du tout.

Enfin, tu parles de DataGrid et ton code de DataGridView, non seulement ce ne sont pas les mêmes contrôles mais en plus pas les mêmes technologies le premier c'est pour les interfaces WPF et le second pour les les interfaces Winform.
Si je voulais être taquin je te répondrais pour un DataGrid, mais tu ne serais pas plus avancé.



Bon venons en à ton problème.
Le message d'erreur est très clair, il y a un objet quelque part qui "n'existe pas", la variable a bien été créée sinon ça n'aurait pas compilé, mais elle n'as pas reçue de valeur.
C'est un peu comme un bocal, si y'a pas de confiture dedans tu ne peux pas t'en servir pour en faire une tartine.

Maintenant, le problème avec les try cacth, c'est qu'on ne sait pas quelle ligne est concernée. Commence donc par commenter le mot clé try et toute la clause catch.

Là Visual Studio va s'arrêter sur une ligne, mais ça ne suffit pas. Il faut trouver quel objet n'est pas initialisé. Pour ça il faut que tu regardes le contenu de chaque variables, propriétés et méthodes utilisées dans cette ligne.

Quand tu as toutes ses infos, tu peux essayer de trouver pourquoi cet objet n'est pas rempli ou revenir ici nous communiquer tout ça
0
Merci
Je vais avouer que
Whismeril m'a fait tout un discour comme s'il etait fachee contre quelqu'un.


dataGridView1.Rows.Add(reader.GetValue(0).ToString(), reader.GetValue(1).ToString(), reader.GetValue(2).ToString());


Voici la solution j'ai pu essayer mais ca a marchee merci
0
Whismeril Messages postés 17820 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 3 octobre 2022 618
Modifié le 6 oct. 2021 à 12:19
Non pas fâché, mais j’ai essayé de t’expliquer comment augmenter tes chances de recevoir une réponse.

Par exemple, karamel a modifié ton message initial pour corriger les balises de code.
C’est quand même plus lisible que le pavé gris que tu as encore mis dans ton second message.
Et ça donne plus envie de t’aider
0