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

ADO.NET Discussion :

Problème d'affichage des résultats sous SQL server


Sujet :

ADO.NET

  1. #1
    Membre du Club
    Homme Profil pro
    Développeur .NET / php / java / c++
    Inscrit en
    Février 2013
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur .NET / php / java / c++
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2013
    Messages : 44
    Points : 41
    Points
    41
    Par défaut Problème d'affichage des résultats sous SQL server
    Bonjour,

    Je vous écrit car j'ai un problème pour afficher le contenu d'une table dans un tabcontrol...

    La fonction gérant ma requête est incluse directement dans mon sub et la connexion est effectuée en global.

    Je vous envoie un exemple de ma fonction...

    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
     
            Dim strSQL As String = ""
            Dim oReader As SqlDataReader
     
            strSQL = "SELECT * #REQUETE SQL# "
     
            oReader = oExecuteSQLCmd(strSQL)
     
            Dim stAppel As New Appel_Ligne
     
            Do While oReader.Read()
     
                stAppel.numLigne = oReader.GetInt32(0)
                stAppel.strAppel = oReader.GetInt32(2)
                stAppel.numStatut = oReader.GetString(1)
     
            Loop
            oReader.Close()

    Merci.

  2. #2
    Membre expérimenté Avatar de callo
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Février 2004
    Messages
    887
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Togo

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Service public

    Informations forums :
    Inscription : Février 2004
    Messages : 887
    Points : 1 699
    Points
    1 699
    Par défaut
    Citation Envoyé par DevKast Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
            Dim stAppel As New Appel_Ligne
     
            Do While oReader.Read()
     
                stAppel.numLigne = oReader.GetInt32(0)
                stAppel.strAppel = oReader.GetInt32(2)
                stAppel.numStatut = oReader.GetString(1)
     
            Loop
            oReader.Close()
    A moins que tu ais limité le résultat de ta requête à un seul enregistrement, stAppel sera écrasé à chaque itération. A la sortie de la boucle, seul le dernier élément sera retenu. Pour éviter ce comportement, tu dois déplacer l'instanciation de stAppel dans la boucle.

    Si ta requête retournera plusieurs jeux d'enregistrements, je te conseille d'utiliser une List<T> pour stocker tes objets stAppel. Ainsi, tu pourras te servir plus tard de cette liste pour effectuer ton traitement.

    Citation Envoyé par DevKast Voir le message
    Je vous écrit car j'ai un problème pour afficher le contenu d'une table dans un tabcontrol...
    Un tabcontrol est un conteneur, il ne permet pas d'afficher des jeux d'enregistrments. Tu peux bien sûr ajouter un datagridview ou une lisbox au tabcontrol. Mais les jeux d'enregistrements doivent être affichés soit dans le datagridview soit dans la listbox, pas dans le tabcontrol même.

    En utilisant la technqiue de la List<T> susmentionnée, tu pourras utiliser cette List<T> comme DataSource pour le datagridview ou la listbox.

  3. #3
    Membre du Club
    Homme Profil pro
    Développeur .NET / php / java / c++
    Inscrit en
    Février 2013
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur .NET / php / java / c++
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2013
    Messages : 44
    Points : 41
    Points
    41
    Par défaut
    Je vais essayer de refaire le même code en utilisant un ListView.

    Ne serait t'il pas plus simple si j'utilisait une boucle pour afficher les résultats ? Car en effet je dispose de plusieurs enregistrement dans la table.

  4. #4
    Membre expérimenté Avatar de callo
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Février 2004
    Messages
    887
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Togo

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Service public

    Informations forums :
    Inscription : Février 2004
    Messages : 887
    Points : 1 699
    Points
    1 699
    Par défaut
    Si tu dois utiliser une listview pour afficher tes jeux d'enregistrements, tu dois bien sûr utiliser une boucle.

    Mais si c'est une datagridview par exemple, il te suffira de faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    TonDataGridView.DataSource = TaList<stAppel>
    pour que ta grille soit remplie.

    En gros, tu auras un truc du genre:
    Code vb.net : 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
    Imports System.Collections.Generic
            '...
            Dim _mesApplesLignes As New List(Of Appel_Ligne)
     
            Dim strSQL As String = ""
            Dim oReader As SqlDataReader
            strSQL = "SELECT * #REQUETE SQL# "
     
            oReader = oExecuteSQLCmd(strSQL)
     
            Do While oReader.Read()
     
                Dim stAppel As New Appel_Ligne
     
                stAppel.numLigne = oReader.GetInt32(0)
                stAppel.strAppel = oReader.GetInt32(2)
                stAppel.numStatut = oReader.GetString(1)
     
                _mesApplesLignes.Add(stAppel) 
     
            Loop
            oReader.Close()
            ' ne pas oublier de fermer aussi ta connexion
     
            ' remplit ton datagridview
            TonDataGridView.DataSource = mesApplesLignes

  5. #5
    Membre du Club
    Homme Profil pro
    Développeur .NET / php / java / c++
    Inscrit en
    Février 2013
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur .NET / php / java / c++
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2013
    Messages : 44
    Points : 41
    Points
    41
    Par défaut
    Je vais voir ce que ça donne, je vous tiens au courant.

    Merci

  6. #6
    Membre du Club
    Homme Profil pro
    Développeur .NET / php / java / c++
    Inscrit en
    Février 2013
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur .NET / php / java / c++
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2013
    Messages : 44
    Points : 41
    Points
    41
    Par défaut
    Avec un peu de recherches, j'ai découvert que le DataGridView gérait automatiquement les requêtes, il faut jute renseigner la table sur laquelle nous voulons travailler.

    En quelque sort, le DataGridView execute, une fois connectée à la base correspondante, une requête du type :"SELECT * FROM...", les colonnes de la table en question peuvent être supprimées dans les propriétés du DatagridVIew.

    Merci encore
    Problème résolu.

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

Discussions similaires

  1. Problème d'affichage des résultat SQL
    Par student.isims dans le forum Général Java
    Réponses: 1
    Dernier message: 27/10/2014, 12h24
  2. Réponses: 5
    Dernier message: 22/05/2012, 17h02
  3. Problème d'affichage des images sous apache/php
    Par kikoo_of_dijon dans le forum Apache
    Réponses: 9
    Dernier message: 03/11/2007, 16h24
  4. Réponses: 25
    Dernier message: 27/07/2007, 14h46
  5. Problème d'affichage des styles sous IE6
    Par Theberge43 dans le forum Mise en page CSS
    Réponses: 3
    Dernier message: 16/01/2007, 19h21

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