[VB.NET ] Datagrid - Dataset - Datatable

liegeus Messages postés 112 Date d'inscription   Statut Membre Dernière intervention   -  
 Utilisateur anonyme -
Bonjour

voilà mon problème : j'ai une base de donnée très simple (stat) avec 3 champs (id, url et compteur)
dans mon programme en vb.net je voudrai pouvoir afficher dans un datagrid les résultat de requête sur cette table. il faut bien utiliser un dataset non ?
vous pouvez m'expliquer comment faire parce que je nage un peu au millieu de tout ça...
voilà ce que j'ai fais dans ma form pour le moment...

Dim myQuery2 As String = "SELECT * FROM stat ORDER BY Nom_Url"
Dim cmd2 As OleDbCommand = myConnection.CreateCommand()
cmd2.CommandText = myQuery2
Dim reader As OleDb.OleDbDataReader

reader = cmd2.ExecuteReader()

While reader.Read

End While

myConnection.Close() 'fermeture de la connection à la base
DataGridView1.Visible = True

merci beaucoup
--
**MAY THE FORCE BE WITH YOU**

9 réponses

  1. rbati
     
    voila mon code pour remplit un Datagrid

    Try

    Dim cmd As String = "select NOM_UTILISATEUR,MOT_PASSE_UTILISATEUR from UTILISATEUR"
    con.Open()
    Dim remplit As OleDbCommand = New OleDbCommand(cmd)
    dataAdapter = New OleDbDataAdapter(remplit)
    remplit.Connection() = con
    Dim dataBuilder = New OleDbCommandBuilder(dataAdapter)
    dataAdapter.Fill(dtSet, "UTILISATEUR")
    dtTable = dtSet.Tables("UTILISATEUR")
    con.Close()

    Datagride.DataSource=dtTable

    Catch ex As Exception
    con.Close()
    End Try
    2
  2. Velvel-Miho Messages postés 32 Statut Membre 21
     
    Salut,

    apparement j'ai le même soucis
    je voudrais aussi mettre le résuktat d'une requête dans un dataGridView.
    La requete est faite dans le DataSet (je parle bien du truc qui ressemble à un schéma conceptuel de donnée avec le requête en bas de la table)
    Puis en mettant le dataGrid et choisissant la source de donnée (la table où est la requête), il met tous les champ et pas ceux de la requête. Et dans le code il prend automatique la requete Fill,GetData() qui justement renvoie tous les champs. Je me suis donc dit on vas changer le code et le tour sera jouer, mais ça ne change rien...

    Que faire pour que le dataGrid renvoie la requête souhaité ?
    Merci davance
    -1
  3. Velvel-Miho Messages postés 32 Statut Membre 21
     
    J'ai vu qu'il était possible d'ajouter des tables dans le dataSet avec comme source une requête. Mais là encore ça coince : il n'y a pas de données ...

    Quelqu'un aurait il une idée pour mettre le résultat d'une requête dans un dataGridView, s'il vous plait ?
    Pour renseignement, la requête renvoie plusieurs lignes, elle procède à un regroupement et une somme (Group by + SUM() ), et un tri est effectué où la donnée sera informé lors de l'affichage du dataGridView.
    0
    1. Kagura
       
      Bonsoir,

      Pour remplir un dataGridView, tu peut le faire en ajouter les résultats ligne pas ligne.
      Pour cela :

      'déclare un ensemble de string
      dim maLigne as string()

      'Affecte les résultats de la requête dans ta ligne
      maLigne = new string() {monDataReader.getValue(0).toString, monDataReader.getValue(1).toString, ... }

      'Ajoute ta ligne au dataGridView
      monDataGridView.rows.add(maLigne)

      Bonne soirée
      0
      1. Pouki > Kagura
         
        Public Sub Remplir_dtgrid_projet()

        'Permet de sélectionner toute une ligne
        DataGridProjet.SelectionMode = DataGridViewSelectionMode.FullRowSelect

        'Interdit la sélection de plusieurs projet
        DataGridProjet.MultiSelect = False

        Dim Mycommand As New SqlCommand("SELECT * FROM Projet ORDER BY DateCreation_Projet", SQLConnect)
        Dim ObjetDataTable As DataTable
        Dim ObjetDataAdapter As SqlDataAdapter
        Dim ObjetDataSet As New DataSet

        ObjetDataAdapter = New SqlDataAdapter(Mycommand)
        ObjetDataAdapter.Fill(ObjetDataSet, "Projet")
        ObjetDataTable = ObjetDataSet.Tables("Projet")

        DataGridProjet.DataSource = ObjetDataTable
        DataGridProjet.Columns(0).Visible = False
        DataGridProjet.Columns(1).Visible = False
        DataGridProjet.Columns(2).HeaderText = "Nom"
        DataGridProjet.Columns(3).HeaderText = "Date de création"
        DataGridProjet.Columns(4).HeaderText = "Chef de projet"
        DataGridProjet.Columns(5).HeaderText = "Statut"
        DataGridProjet.Columns(6).Visible = False
        End Sub
        0
      2. lion4ever > Pouki
         
        ilfaux que tu utilise cette instruction c simple
        datagridview1.rows.add(variable1,variable2,variable3)
        variabl1 et 2 et 3 ce sont les variable que tu veux les afficher
        mais ilfaux qu il soient en ordre des colone
        0
  4. nahla
     
    rapport de thème de gestion magasin de télécom sous réseau local avec le code source
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. souma
     
    Je travaille sur access et je souhaite afficher ma base de données sur asp.net voilà ce qui m'est demandé :
    //open connection with db
    openConnection();
    //create oledbcommand
    //....
    //execute request on database et récupérer le résultat dans un dataset
    //....
    //lier le dataset à un tableau (datagrid)
    //...
    //afficher le datagrid
    //GridView1.DataSource = MonDataset
    ///....
    }
    pouvez vous m'aider avec le code project .?
    0
  7. Utilisateur anonyme
     
    Bonjour,

    Vous trouverez sur ce lien :

    http://membre.oricom.ca/lupin/xfr/modele_109.zip

    une architecture basé sur une architecture clients/serveur

    bien sur je l'ai simplifié, mais c'est un exemple
    pour lire des données à partir d'une BD, remplir
    les valeurs dans des collections et afficher ces collections
    dans un datagridview.

    Le DataGridView n'est que le visuel de la collection, pour
    effectuer des modifications, des ajouts, etc... on agit sur la
    collection et non sur la DataGridView.

    Enfin, c'est un exemple et je change de FAI le 24 Février,
    donc le lien n'est valide que jusqu'à Vendredi.

    Penser couches (layers) :

    1.)...Commun (COM)
    ..........a.) Constantes
    ..........b.) Messages
    2.)... Entité (ENT)
    ..........a.) Entité (Objet de base, incluant les colonnes de tables)
    ..........b.) Collection d'entité
    ..........c.) Critères de requêtes
    3.).... Contrôleur (CDA)
    ..........a.) Requête SQL
    ..........b.) Exécution Requête
    ..........c.) Transaction
    4.) ... Formulaire
    ..........a.) Sous formulaire d'édition

    Les 3 premières couches sont implémentables dans une architecture
    Clients/Serveur tel quels sont présentés. Ici, on adresse une table
    Access.

    Cdt

    Lupin
    0
    1. souma
       
      Pourquoi J'arrive pas à ouvrir les fichiers sur mon ordinateur .
      0
    2. Utilisateur anonyme
       
      re:

      Tu as bien décompressé le ZIP.

      Quel version de VB utilise tu ?

      Lupin
      0
    3. Utilisateur anonyme
       
      re:

      essai de nouveau

      http://membre.oricom.ca/lupin/xfr/Modele_110.zip

      Sous MySQL

      Cdt

      Lupin
      0
  8. Digitaldna
     
    Tout dépend si tu utilise une datasource pas besoin de dataset il suffit de binder ton gridview sur la source sinon le dataset tu utilise un dataadaptater et tu fill ton dataset avec puis tu binde ton gridview sur le dataset ou sur la datatable si tu souhaite creer des vues ... Cf: forums developpez...
    -1