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 :

Récupération des données dans un objet de type TableRowCollection


Sujet :

ASP.NET

  1. #1
    Membre régulier
    Inscrit en
    Novembre 2010
    Messages
    163
    Détails du profil
    Informations forums :
    Inscription : Novembre 2010
    Messages : 163
    Points : 77
    Points
    77
    Par défaut Récupération des données dans un objet de type TableRowCollection
    Bonjour à tous,

    J'ai des données récupérées d'une table oracle, et je veux les afficher sur le web suivant le format désiré. La première étape consistait à construire un objet Ligne au niveau de mon application. Cet objet répond à mes besoins en terme d'affichage. Par la suite j'exécute la méthode Create de mon objet ligne, et elle me renvoie une ligne de type TableRow. Cette ligne va être rajoutée à mon objet TableRowCollection, déclaré en tant que variable global, au niveau d'une classe statique Attrib. Pour être plus clair, voici le 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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
     
     
    using System;
    using System.Collections;
    using System.Configuration;
    using System.Data;
    using System.Linq;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.HtmlControls;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Xml.Linq;
    using System.Data.OracleClient;
    using System.Text;
    using System.Collections.Generic;
    using System.Transactions;
    using System.Text.RegularExpressions;
     
     
     
    namespace autre
    {
        public partial class test : System.Web.UI.Page
        {
            protected void Page_Load(object sender, EventArgs e)
            {
                Ligne maligne = new Ligne();
     
                OracleConnection connexion = new OracleConnection(Attrib.chemin);
                connexion.Open();
     
                Attrib.date = "03/2011";
     
                string remplir = "select GPE_GE,Filiale,Date_RDV,Reunion_Planifiee,Financement,Placement,Produits,Flux,Normalisation,Prospection,Condition,Reclamation,Niv_Representation,Realise,LIEU,DDE_CREDIT,DDE_CONDITIONS,RECLAMATIONS,NEGO_VENTE_PDTS, NORMALISATIONS,ENTREE_RELATION, AUCUN_RESULTAT,Commentaire from RDV where (codca='A6')";
                OracleCommand command = new OracleCommand(remplir, connexion);
     
     
                OracleDataReader lire = command.ExecuteReader();
     
                TableRow newRow1 = new TableRow();
     
     
                while (lire.Read())
                {                
                    maligne.select.Checked = false;
                    maligne.gpe.Text = lire.GetString(0);
                    maligne.aff.Text = lire.GetString(1);
                    maligne.dat.Text = Convert.ToString(lire.GetDateTime(2)).Substring(0,10);
                    maligne.plan.SelectedValue = lire.GetString(3);
                    if (lire.GetString(4) == "True")
                    {
                        maligne.fin.Checked = true;
                    }
                    else
                    {
                        maligne.fin.Checked = false;
                    }
                    if (lire.GetString(5) == "True")
                    {
                        maligne.plt.Checked = true;
                    }
                    else
                    {
                        maligne.plt.Checked = false;
                    }
                    if (lire.GetString(6) == "True")
                    {
                        maligne.pdt.Checked = true;
                    }
                    else
                    {
                        maligne.pdt.Checked = false;
                    }
     
                    if (lire.GetString(7) == "True")
                    {
                        maligne.flx.Checked = true;
                    }
                    else
                    {
                        maligne.flx.Checked = false;
                    }
                    if (lire.GetString(8) == "True")
                    {
                        maligne.nrm.Checked = true;
                    }
                    else
                    {
                        maligne.nrm.Checked = false;
                    }
                    if (lire.GetString(9) == "True")
                    {
                        maligne.psp.Checked = true;
                    }
                    else
                    {
                        maligne.psp.Checked = false;
                    }
                    if (lire.GetString(10) == "True")
                    {
                        maligne.cdt.Checked = true;
                    }
                    else
                    {
                        maligne.cdt.Checked = false;
                    }
                    if (lire.GetString(11) == "True")
                    {
                        maligne.rct.Checked = true;
                    }
                    else
                    {
                        maligne.rct.Checked = false;
                    }
                    maligne.nvrep.SelectedValue = lire.GetString(12);
     
                    newRow1 = maligne.Create();
                    Attrib.list_Rows.Add(newRow1);
     
     
                }
     
     
     
                connexion.Close();
                connexion.Dispose();
     
     
     
     
                }
     
            }
        }

    En exécutant l'application, il me renvoie l'erreur suivante:

    La référence d'objet n'est pas définie à une instance d'un objet.
    Est ce que quelqu'un pourrait me donner une réponse SVP

    Merci d'avance

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Août 2005
    Messages
    1 240
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 1 240
    Points : 1 646
    Points
    1 646
    Par défaut
    tu n'as pas plutot la stacktrace.
    mais je pense que tu as un problème. tu vas avoir les valeurs du dernier objet insere dans ta tablerow. il faut tu fasses des new ma ligne

  3. #3
    Membre régulier
    Inscrit en
    Novembre 2010
    Messages
    163
    Détails du profil
    Informations forums :
    Inscription : Novembre 2010
    Messages : 163
    Points : 77
    Points
    77
    Par défaut
    Oui en effet, je reçoit la dernière ligne insérée uniquement, c'est pour cette raison j'ai voulu stocker toutes les lignes dans une collection. Mais tu veux dire quoi, par faire des new ligne?

  4. #4
    Membre expérimenté
    Profil pro
    Inscrit en
    Août 2005
    Messages
    1 240
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 1 240
    Points : 1 646
    Points
    1 646
    Par défaut
    oublie pour le new je crois que je me trompe.
    il faut la stacktrace pour savoir d'où l'execution t'envoie ce message d'erreur.

  5. #5
    Membre régulier
    Inscrit en
    Novembre 2010
    Messages
    163
    Détails du profil
    Informations forums :
    Inscription : Novembre 2010
    Messages : 163
    Points : 77
    Points
    77
    Par défaut
    Mais C'est quoi la stacktrace STP?

  6. #6
    Membre expérimenté
    Profil pro
    Inscrit en
    Août 2005
    Messages
    1 240
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 1 240
    Points : 1 646
    Points
    1 646
    Par défaut
    tu dois avoir le message d'erreur en jaune. c'est ca la stacktrace ou un debug tu dois pouvoir l'avoir dans le detail de l'erreur.
    elle contient les methodes par lesquelles l'execution est passée.

  7. #7
    Membre régulier
    Inscrit en
    Novembre 2010
    Messages
    163
    Détails du profil
    Informations forums :
    Inscription : Novembre 2010
    Messages : 163
    Points : 77
    Points
    77
    Par défaut
    J'ai débogué mon code pas à pas. L'erreur se trouve dans la ligne suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    Attrib.list_Rows.Add(newRow1);
    Et il me demande d'utiliser le mot clé new afin de créer une instance d'objet. Toutefois en utilisant le new, y a eu un problème de génération du code, voici l'erreur qu'il renvoie

    Aucun constructeur n'est défini pour le type 'System.Web.UI.WebControls.TableRowCollection'

    Alors c'est quoi la solution possible, svp???

  8. #8
    Membre expérimenté
    Profil pro
    Inscrit en
    Août 2005
    Messages
    1 240
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 1 240
    Points : 1 646
    Points
    1 646
    Par défaut
    Attrib.list_Rows est instancié ?

  9. #9
    Membre régulier
    Inscrit en
    Novembre 2010
    Messages
    163
    Détails du profil
    Informations forums :
    Inscription : Novembre 2010
    Messages : 163
    Points : 77
    Points
    77
    Par défaut
    Au niveau de la classe static Attrib, j'ai déclaré l'attribut TableRowCollection comme suit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    public static TableRowCollection  Liste_Rows;

    Ensuite je l'utilise comme variable globale

  10. #10
    Membre expérimenté
    Profil pro
    Inscrit en
    Août 2005
    Messages
    1 240
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 1 240
    Points : 1 646
    Points
    1 646
    Par défaut
    mais tu n'as pas fait de new donc forcément ca ne le fait pas.

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 23/10/2007, 15h47
  2. [MySQL] Récupération des données dans une table
    Par doudom dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 25/07/2007, 19h59
  3. [Etat]Récupération des données dans un état
    Par TeoSitran dans le forum IHM
    Réponses: 12
    Dernier message: 15/04/2007, 16h52
  4. [MySQL] Problème de récupération des données dans une fonction
    Par highman dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 26/10/2006, 20h04
  5. Réponses: 3
    Dernier message: 27/09/2006, 19h50

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