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érer les resultats d'une requete dans un GridView


Sujet :

ASP.NET

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Octobre 2015
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2015
    Messages : 15
    Points : 1
    Points
    1
    Par défaut récupérer les resultats d'une requete dans un GridView
    bonjour,
    je veux récupérer les résultats d'une requête dans une GridView , selon le code , mais je pense qu'il me manque certaines choses
    merci

    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
    protected void ButtonRechercheNumeroBO_Click(object sender, EventArgs e)
            {
             GridViewRechercheNumeroBO.Columns.Count=6;
     
     
               try{
                globale.oConnexion.Open();
                globale.oCommand.CommandText = "select sujet,numeroBO,datePublication,nomFichier from [dbo].[TextesLois] where numeroType =N'" + TextBoxNumeroBO.Text + "'";
                globale.oCommand.ExecuteNonQuery();
                globale.drUtilisateur = globale.oCommand.ExecuteReader();
     
                if (globale.drUtilisateur.HasRows)
                    {
                    while globale.drUtilisateur.Read()
                        {
                       GridViewRechercheNumeroBO.Rows.
                        }
     
                    els
                        {
                        }
     
                 }
     
                globale.drUtilisateur.Close();
     
                  }
                catch (Exception err)
                    {
                    }
     
            }

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    777
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2003
    Messages : 777
    Points : 1 077
    Points
    1 077
    Par défaut
    Je pense qu'il manque des bouts de code...

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Octobre 2015
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2015
    Messages : 15
    Points : 1
    Points
    1
    Par défaut
    est ce que vous pouvez me corriger cette partie mercoi

    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
    protected void ButtonRechercheNumeroBO_Click(object sender, EventArgs e)
            {
     
                /*GridViewRechercheNumeroBO.Columns[0].HeaderText = "sujet";
                GridViewRechercheNumeroBO.Columns[1].HeaderText = "numerBO";
                GridViewRechercheNumeroBO.Columns[2].HeaderText = "datePublication";*/ ICI ERREUR je veux ici afficher le titre de chaque colonne
     
                try
                {
                    globale.oCommand.CommandText = "select sujet,numeroBO,datePublication from [dbo].[TextesLois] where numeroType =N'" + TextBoxNumeroBO.Text + "'";
     
                    globale.oConnexion.Open();
                    globale.oCommand.Connection = globale.oConnexion;
                    globale.oCommand.ExecuteNonQuery();
                    globale.drUtilisateur = globale.oCommand.ExecuteReader();
     
                    if (globale.drUtilisateur.HasRows)
                    {
                        while (globale.drUtilisateur.Read())
                        {
     
     
     
                            GridViewRechercheNumeroBO.RowUpdating(globale.drUtilisateur(0), globale.drUtilisateur(1), globale.drUtilisateur(2));  // ici ERREUR je veux remplir ma GirdView
     
                        }
                    }
                    else
                     {
                     }
                    globale.drUtilisateur.Close();
                }
                catch (Exception err)
                    {
                   Label1.Visible = true;
                   Label1.Text = err.Message;
     
                     }
     
                globale.oConnexion.Close();
            }

  4. #4
    Membre confirmé Avatar de Julien698
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2013
    Messages
    237
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2013
    Messages : 237
    Points : 473
    Points
    473
    Par défaut
    Salut, tu peux passer par une Datatable :

    tu déclares ta table en amont :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DataTable table = new DataTable();
    Et dans ton While tu mets ce que tu veux récuperer :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    While (globale.drUtilisateur.Read())
    {
    table.Rows.Add(globale.drUtilisateur.String(0),globale.drUtilisateurr.GetInt32(1)) //Par exemple à adapter selon ton code
    }
    Et ensuite tu mets ta table comme source au gridview :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    GridViewRechercheNumeroBO.DataSource = table;
    par contre je te conseille de revoir le nom de tes variables, ça me parait compliqué... Et prochaine fois utilises les balises codes pour que ça soit plus lisible

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Octobre 2015
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2015
    Messages : 15
    Points : 1
    Points
    1
    Par défaut
    je pense que je suis sur le bon chemin merci , voici mon code après votre aide
    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
    protected void ButtonRechercheNumeroBO_Click(object sender, EventArgs e)
            {
                DataTable table = new DataTable();
                try
                {
                    globale.oCommand.CommandText = "select sujet,numeroBO,datePublication,nomFichier from [dbo].[TextesLois] where numeroType =N'" + TextBoxNumeroType.Text + "'";
                    globale.oConnexion.Open();
                    globale.oCommand.Connection = globale.oConnexion;
                    globale.oCommand.ExecuteNonQuery();
                    globale.drUtilisateur = globale.oCommand.ExecuteReader();
     
                    if (globale.drUtilisateur.HasRows)
                    {
                        while (globale.drUtilisateur.Read())
                        {
     
                            table.Rows.Add(globale.drUtilisateur[0], globale.drUtilisateur[1], globale.drUtilisateur[2],globale.drUtilisateur[3]);
                            GridViewRechercheNumeroType.DataSource = table;
                        }
     
                    }
                    else
                     {
                         Label1.Text = "rien n 'est trouvé";
                     }
     
                    globale.drUtilisateur.Close();
                }
                catch (Exception err)
                    {
                   Label1.Visible = true;
                  Label1.Text = err.Message;
     
                     }
     
                globale.oConnexion.Close();
            }
    mais j' ai l erreur suivante : Le tableau en entrée est plus long que le nombre de colonnes de cette table.
    merci

  6. #6
    Membre confirmé Avatar de Julien698
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2013
    Messages
    237
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2013
    Messages : 237
    Points : 473
    Points
    473
    Par défaut
    Oui tu ne peux pas mettre TonGridView.DataSource dans le While sinon il le fait à chaque coup, mets le en dehors et réessayes. Sinon comment as tu construit ton GridView ? tu as utilisé l'interface graphique ou tu as défini les colonnes à la main ?

  7. #7
    Nouveau Candidat au Club
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Octobre 2015
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2015
    Messages : 15
    Points : 1
    Points
    1
    Par défaut
    j'ai le même problème en faisant sortir le GridView du while, j'ai utilisé l'interface graphique pour la construction du GridView
    merci

  8. #8
    Membre confirmé Avatar de Julien698
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2013
    Messages
    237
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2013
    Messages : 237
    Points : 473
    Points
    473
    Par défaut
    Oui en effet je comprends pourquoi ça ne marque pas, j'ai voulu aller trop vite. Apres la déclaration de la table du dois définir les champs :
    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    table.Columns.Add("sujet",typeof(string)); //Je ne connais pas les types tu les metteras en conséquence
    table.Columns.Add("NumeroBO,"typeof(int));
    Ensuite :

    tu as problème sur cette ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    table.Rows.Add(globale.drUtilisateur[0], globale.drUtilisateur[1], globale.drUtilisateur[2],globale.drUtilisateur[3]);
    c'est pas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    globale.drUtilisateur[0]
    mais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    globale.drUtilisateur.GetString(0), globale.drUtilisateur.GetTonType(Numero du champs)....

  9. #9
    Nouveau Candidat au Club
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Octobre 2015
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2015
    Messages : 15
    Points : 1
    Points
    1
    Par défaut
    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
    protected void ButtonRechercheNumeroType_Click(object sender, EventArgs e)
            {
     
     
                DataTable table = new DataTable();
                table.Columns.Add("sujet",typeof(string));
                table.Columns.Add("NumeroBO", typeof(string));
                table.Columns.Add("datePublication", typeof(string));
                table.Columns.Add("nomFichier", typeof(string));
     
                try
                {
                    globale.oCommand.CommandText = "select sujet,numeroBO,datePublication,nomFichier from [dbo].[TextesLois] where numeroType =N'" + TextBoxNumeroType.Text + "'";
                    globale.oConnexion.Open();
                    globale.oCommand.Connection = globale.oConnexion;
                    globale.oCommand.ExecuteNonQuery();
                    globale.drUtilisateur = globale.oCommand.ExecuteReader();
     
                    if (globale.drUtilisateur.HasRows)
                    {
                        while (globale.drUtilisateur.Read())
                        {
     
                            table.Rows.Add(globale.drUtilisateur.GetString(0), globale.drUtilisateur.GetString(1), globale.drUtilisateur.GetString(2), globale.drUtilisateur.GetString(3));
     
                        }
                        GvRechercheNumeroType.DataSource = table; 
     
                    }
                    else
                     {
                        LabelMessage.Visible = true;
                        LabelMessage.Text = "rien n'est trouvé";
                     }
     
                    globale.drUtilisateur.Close();
                }
                catch (Exception err)
                    {
                    LabelMessage.Visible = true;
                    LabelMessage.Text = err.Message;
     
                     }
     
                globale.oConnexion.Close();
            }
    bon quand je clique sur le bouton rien ne s'affiche je veux juste signaler que les type dans ma base de données sont tous ntext

  10. #10
    Membre confirmé Avatar de Julien698
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2013
    Messages
    237
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2013
    Messages : 237
    Points : 473
    Points
    473
    Par défaut
    tu es en web ou en winforms ? Si tu es en web ajoutes sous le gridview :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    GvRechercheNumeroType.DataBind();

  11. #11
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    777
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2003
    Messages : 777
    Points : 1 077
    Points
    1 077
    Par défaut
    Si tu utilises les DataTable il est plus simple de faire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    
    DataTable table = new DataTable();
    ...
    table .Load(globale.oCommand.ExecuteReader())
    GridViewRechercheNumeroType.DataSource = table;
    
    GridViewRechercheNumeroType.DataBind();

  12. #12
    Nouveau Candidat au Club
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Octobre 2015
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2015
    Messages : 15
    Points : 1
    Points
    1
    Par défaut
    c'est résolu merci
    juste je veux savoir comment choisir une cellule d'une colonne déterminé
    ce bout de code marche bien avec les GridView mais ne marche pas avec les table
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    table.SelectedRow.Cells[1].Text;

  13. #13
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    777
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2003
    Messages : 777
    Points : 1 077
    Points
    1 077
    Par défaut
    Citation Envoyé par iltcha Voir le message
    c'est résolu merci
    juste je veux savoir comment choisir une cellule d'une colonne déterminé
    ce bout de code marche bien avec les GridView mais ne marche pas avec les table
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    table.SelectedRow.Cells[1].Text;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    table.Rows[tonIndex].Field<object>("taColonne");

  14. #14
    Nouveau Candidat au Club
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Octobre 2015
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2015
    Messages : 15
    Points : 1
    Points
    1
    Par défaut
    j'ai pas compris l 'index ,

  15. #15
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    777
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2003
    Messages : 777
    Points : 1 077
    Points
    1 077
    Par défaut
    Citation Envoyé par iltcha Voir le message
    j'ai pas compris l 'index ,
    Et bien c'est l'index de la ligne pour laquelle tu veux récupérer la valeur d'une cellule...

Discussions similaires

  1. copier les resultats d'une requete sql dans un fichier texte
    Par mohammed_amine_wardy dans le forum SQL
    Réponses: 1
    Dernier message: 02/01/2008, 16h23
  2. [MySQL] mettre les resultats d'une requete dans un select
    Par Ludo75 dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 18/01/2006, 16h19
  3. Enregistrer le resultat d'une requete dans un document texte
    Par nmerydem dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 15/07/2005, 12h32
  4. [debutant]compter les resultat d'une requete
    Par christophebmx dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 20/02/2005, 17h11
  5. resultat d'une requete dans une ifrmae aussi??
    Par selifx dans le forum Balisage (X)HTML et validation W3C
    Réponses: 8
    Dernier message: 08/02/2005, 14h20

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