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

VB.NET Discussion :

afficher donnée de BDD sans datagridview


Sujet :

VB.NET

  1. #1
    Débutant
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2006
    Messages
    1 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 125
    Points : 704
    Points
    704
    Par défaut afficher donnée de BDD sans datagridview
    Bonjour,

    J'ai toujours utilisé les datagridview pour afficher les données de MySQL, grâce au dataset et au DataReader.
    Mais comment faire sans datagridview?

    Faut-il quand même utiliser le dataset et datareader?

    Quelqu'un à un morceaux de code pour que je m'oriente sur quelques choses.

    Merci d'avance.
    Évènements dans le 06?
    www.sortir06.com

  2. #2
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    le datareader est à priori le seul objet (au moins sur le framework 2) capable d'extraire les données
    le dataset utilise le datareader et permet quelques automatismes

    http://plasserre.developpez.com/vsommair.htm
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  3. #3
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    Ben ça dépend sous quelle forme tu veux afficher les données... avec les éléments que tu donnes on ne peut pas te répondre

    Tu n'est jamais obligé d'utiliser un DataSet, par contre le DataReader est indispensable (même si ce n'est pas toujours explicite, par exemple quand tu utilises des DataAdapter, Linq to SQL, ou Entity Framework)

  4. #4
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    ah je me demandais si linq to sql et entity framework utilisaient aussi le datareader, ne les ayant jamais utilisé (n'ayant pas vu ce que ca apportait aussi ...)
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  5. #5
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    Citation Envoyé par sperot51 Voir le message
    (n'ayant pas vu ce que ca apportait aussi ...)
    En (très) résumé : ne plus écrire une seule ligne de code SQL, et gérer les données en base comme si c'était juste des objets .NET comme les autres

  6. #6
    Débutant
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2006
    Messages
    1 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 125
    Points : 704
    Points
    704
    Par défaut
    Citation Envoyé par tomlev Voir le message
    Ben ça dépend sous quelle forme tu veux afficher les données... avec les éléments que tu donnes on ne peut pas te répondre
    Par exemple, créer autant de label que de ligne d'enregistrement d'une table.

    J'aimerai un objet où je contrôle complètement (ou presque) les données qui sont extrait
    Évènements dans le 06?
    www.sortir06.com

  7. #7
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    dans ce cas il faut le faire manuellement, en créant dynamiquement les labels en fonction du contenu de la table...

  8. #8
    Débutant
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2006
    Messages
    1 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 125
    Points : 704
    Points
    704
    Par défaut
    Citation Envoyé par tomlev Voir le message
    dans ce cas il faut le faire manuellement, en créant dynamiquement les labels en fonction du contenu de la table...
    Créer dynamiquement un control, c'est ok, j'ai créer un post ici mais je vois pas comment faire le lien avec le MySqlDataReader et la création d'un control dynamique.

    J'arrive à récuperer le nombre d'enregistrement mais je n'arrive pas à recuperer le contenu de la donnée...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
            Dim connexion As New Class_connexion
            connexion.connection()
     
            Dim requete_list_pizza As String = "SELECT * FROM pizza"
            Dim nb_enregistrement = connexion.recupere_nombre_enregistrement(requete_list_pizza)
     
            Dim mondatareader As MySqlDataReader
    Merci de votre aide.
    Évènements dans le 06?
    www.sortir06.com

  9. #9
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    je serais curieux de voir comment tu récupères le nombre d'enregistrement ...


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Dim mondatareader As MySqlDataReader
    mondatareader = monMySqlCommand.ExecuteReader
     
    while mondatareader.Read
     
    end while
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  10. #10
    Débutant
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2006
    Messages
    1 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 125
    Points : 704
    Points
    704
    Par défaut
    Citation Envoyé par sperot51 Voir le message
    je serais curieux de voir comment tu récupères le nombre d'enregistrement ...


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Dim mondatareader As MySqlDataReader
    mondatareader = monMySqlCommand.ExecuteReader
     
    while mondatareader.Read
     
    end while
    C'est une veuille fonction que j'utilisais

    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
        Public Function recupere_nombre_enregistrement(ByVal requete As String) As Integer
     
            Dim compteur As Integer = 0
     
            Try
                'variable reader
                reader = Me.Executer_requete_simple(requete)
     
                'lecture tant qu'il y a des enregistrement
                While reader.Read
                    compteur = compteur + 1
                End While
                'fermeture du reader
                reader.Close()
     
            Catch ex As MySql.Data.MySqlClient.MySqlException
                MsgBox(ex.Message)
            Catch ex As System.Exception
                MsgBox(ex.Message)
            End Try
            Return compteur
        End Function
    Effectivement, il y a un petit peu de ressemblance avec ton code..
    Évènements dans le 06?
    www.sortir06.com

  11. #11
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    le reader retourne les lignes et les colonnes de la requete

    while .read permet de passer d'une ligne à la suivante .read retourne false quand il n'y a pas ou plus de ligne
    ensuite il y a accès aux valeurs des colonnes


    ta fonction pour connaitre le nombre de ligne est quelques million de fois plus lente qu'un select count(*) from (...) vu qu'elle rapatrie les données !
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  12. #12
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    avec cette méthode tu exécutes 2 fois la requête... pour peu qu'elle soit un peu lourde, c'est à éviter absolument

    Sinon, je ne vois pas ce qui te bloque... tu sais utiliser un DataReader, tu sais créer dynamiquement des contrôles, donc il suffit de créer les contrôles dans la boucle sur le reader

  13. #13
    Débutant
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2006
    Messages
    1 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 125
    Points : 704
    Points
    704
    Par défaut
    C'est ok.
    Merci à vous

    Le résultat est la :

    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
            Mycommand.CommandText = "SELECT * FROM pizza"
            conn.Open()
            Dim myReader As MySqlDataReader = Mycommand.ExecuteReader()
            Dim btn_Bouton As Button
            Dim compteur_pizza As Integer = 1
            Do While myReader.Read()
                btn_Bouton = New Button
                btn_Bouton.Name = "Label" & compteur_pizza
                btn_Bouton.TabIndex = compteur_pizza
                btn_Bouton.Text = myReader.GetString(1)
                btn_Bouton.Top = (20 + compteur_pizza * 25)
                Panel_list_pizza.Controls.Add(btn_Bouton)
                compteur_pizza = compteur_pizza + 1
                AddHandler btn_Bouton.Click, AddressOf test
            Loop
    Évènements dans le 06?
    www.sortir06.com

  14. #14
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    n'oublie pas le bouton ...

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

Discussions similaires

  1. [MySQL] Afficher données dans BDD (POO)
    Par iMarvinR dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 04/05/2012, 20h48
  2. afficher donnes contenu dans BDD dans page JSF
    Par Juju2008 dans le forum JSF
    Réponses: 2
    Dernier message: 21/07/2008, 10h52
  3. [MySQL] probleme afficher donnée BDD sous forme de tableau
    Par body72 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 17/03/2008, 21h27
  4. Mise à jour BDD sans perdre les données
    Par penchu dans le forum Accès aux données
    Réponses: 4
    Dernier message: 07/02/2007, 11h21
  5. Réponses: 1
    Dernier message: 01/06/2006, 09h11

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