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 :

Afficher un tableau a partir de données contenu dans un Datareader


Sujet :

ASP.NET

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 89
    Points : 56
    Points
    56
    Par défaut Afficher un tableau a partir de données contenu dans un Datareader
    Bon j'espere que l'intitulé du problème est explicite...

    J'ai effectuer ma requete sur ma table.

    Je souhaiterais juste les faire afficher dans un tableau.

    J'ai bien essayé plusieurs choses, mais véritablement , je suis totalement pommé par rapport au PHP...

    Voici mon code
    Dim sSql As String = "select count(*) from machin"
    Dim oConn As New SqlConnection(ConfigurationSettings.GetConfig("appSettings")("ConnString"))
    Dim oComm As New SqlCommand(sSql)
    oComm.Connection = oConn
    oConn.Open()
    ''On récupére les informations du count
    Dim iResultat As Integer = oComm.ExecuteScalar()
    Dim dr As SqlDataReader = oComm.ExecuteReader()
    Dim monString As String
    TextBox1.Text = iResultat '' test compter nb d'enregistrement
    TextBox2.Text = dr.FieldCount '' test compter nb colonne
    '' création du tableau
    MonTableau.Width = "100%"
    MonTableau.CellPadding = "1"
    MonTableau.CellSpacing = "0"
    MonTableau.Border = "2"

    Dim colonne As Integer, ligne As Integer

    For ligne = 0 To iResultat
    Dim Maligne As New HtmlTableRow
    For colonne = 0 To dr.FieldCount
    Dim MaCase As New HtmlTableCell
    MaCase.Width = "10%"
    MaCase.InnerHtml = dr((colonne)).ToString
    Maligne.Cells.Add(MaCase)
    Next
    MonTableau.Rows.Add(Maligne)
    Next


  2. #2
    Membre extrêmement actif
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Points : 1 434
    Points
    1 434
    Par défaut
    oulalala, tu t'égare.

    D'abords oublie le PHP, l'ASP et tout ce qui ressemble à du scripting.
    Ici, en .NET il faut raisoner complétement différement. ça c'est le premier et meilleur conseil que je puisse te donner.

    Il faut raisonner objet (et je peux te dire que c'est pas simple...)

    Donc, la construction que tu nous propose est pas bonne à la base, tout simplement. Tu essaie de lire ton recordset et de monter ton tableau ua fur et à mesure.

    Mais en .NET tu dispose d'objet plus "simple" à utiliser. PAr exemple tu fabrique ta requête et tu l'exécute pour en faire une DataTable et ensuite tu injecte ta DataTable dans un GridView.

    Je ne te donnes pas de code car un provere dis :
    il ne faut pas donner un truite à celui qui a faim, mais lui apprendre à la pêcher.

    Je te conseil une visite des tuto du site, il y en a un trés simple pour aprendre les manipulations de base des objets Command, DataTable et GRidView. Dans la MSDN aussi tu as des exemples trés bien foutu (tant que tu reste sur des choses simple)

    Mais si tu pars plus dans cette voie, plutôt que de construire une tableau au fur et à mesure, tu y arrivera mieu, enfin je pense.

    @+

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 89
    Points : 56
    Points
    56
    Par défaut
    Merci , j'ai fait comme tu ma dit je me suis renseigné...

    Malheuresement, j'utilise Visual Studio 2003 et pas de MSDN...

    Dim oConn As New SqlConnection(ConfigurationSettings.GetConfig("appSettings")("ConnString"))
    Dim oComm As New SqlCommand(sSql)
    oComm.Connection = oConn
    oConn.Open()
    Dim dr As SqlDataReader = oComm.ExecuteReader()
    Dim dt As New DataTable
    While dr.Read()
    Dim row As DataRow = dt.NewRow()
    row(0) = row(0)
    row(1) = row(1)
    dt.Rows.Add(row)
    End While

    dr.Close()
    oConn.Close()
    Aprés malgré des recherches, je ne comprend pas et je ne trouve pas d'utilisation précise sur le gridview...

  4. #4
    Membre extrêmement actif
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Points : 1 434
    Points
    1 434
    Par défaut
    Tu n'es pas loin.
    D'abords il faut charger ta table autrement pour faire plus simple utilise un DataAdapteur

    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
     
                   Dim adapteur as New SqlDataAdapter
    Dim oConn As New SqlConnection(ConfigurationSettings.GetConfig("appSettings")("ConnString"))
    Dim oComm As New SqlCommand(sSql)
    oComm.Connection = oConn
    oConn.Open()
    '''Dim dr As SqlDataReader = oComm.ExecuteReader()
    Dim dt As New DataTable
     
                    Adapteur = New SqlDataAdapter(oComm)
                    Dim oCommandBuilder As New SqlCommandBuilder(Adapteur)
                    Adapteur.Fill(dt)
     
    'Acces au GridView
                 GridView1.DataSource = dt
    	GridView1.DataBind()
     
    dr.Close()
    oConn.Close()
    J'ai modifié ton code, si tu fais un copier coller, vérifie bien tous les paramètres. J'ai essayé de mettre en indetation ce que j'ai rajouté, mais lis bien avant.
    Avant cela tu place un GridView dans ta page ASPX que tu appelle GridView1 dans son ID.

    ça te permet d'avoir un tabelau simple qui se charge dynamiquement sans te poser de quetion sur le nombre de champs et tout le tremblement. MAis attention, cela reste quelquechose de simple pour afficher des données.
    Ensuite essaye de trouver des information sur le GridView car il est assez riche en option. Va sur MSDN, sur le site de Microsoft, tu auras toutes les infos qu'il te faut.

    Et essaye (si tu peux) de passer à VS 2005, il vraiment plus sympa.

    @+

  5. #5
    Rédacteur
    Avatar de SaumonAgile
    Homme Profil pro
    Team leader
    Inscrit en
    Avril 2007
    Messages
    4 028
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Team leader
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2007
    Messages : 4 028
    Points : 6 334
    Points
    6 334
    Par défaut
    Citation Envoyé par t1marlartiste
    Malheuresement, j'utilise Visual Studio 2003 et pas de MSDN...
    La MSDN n'a rien à voir avec l'IDE. Peu importe l'IDE que tu utilises, si tu as installé le SDK .NET 1.1 tu as accès à la documentation complète du framework (depuis le menu démarrer/Microsoft .NET Framework SDK v1.1/). Et au pire il y a toujours la MSDN sur le NET.

    Et au fait, 'paumé' ça s'écrit 'paumé' et pas 'pommé', 'pommé' c'est pour les choux, mais ça m'a fait rire sur le coup

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 89
    Points : 56
    Points
    56
    Par défaut
    Merci Zoofy, j'avance grâce à toi !!

    J'utilise Visual Studio 2003, et apparemment les GridView n'existait pas encore ... Je l'ai donc remplacer par un Datagrid qui a mon avis est son équivalence...

    Malgrés ça , je n'arrive toujours rien à afficher avec ma requête...

    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
            Dim adapteur As New SqlDataAdapter
            Dim sSql As String = "select EntFBI from ma_table where NomClient=' monclient' "
            Dim oConn As New SqlConnection(ConfigurationSettings.GetConfig("appSettings")("ConnString"))
            Dim oComm As New SqlCommand(sSql)
            oComm.Connection = oConn
            oConn.Open()
            Dim dt As New DataTable
     
            adapteur = New SqlDataAdapter(oComm)
            Dim oCommandBuilder As New SqlCommandBuilder(Adapteur)
            adapteur.Fill(dt)
            DataGrid1.DataSource = dt
            DataGrid1.DataBind()
     
            oConn.Close()
    Galère Galère...

  7. #7
    Membre extrêmement actif
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Points : 1 434
    Points
    1 434
    Par défaut
    Pourtant ça m'a l'air tout à fait correct ce que tu as mis.
    Le seul qu'il faudrait vérifier c'est ta requête par elle même, mais je suppose que l'a lancée dans un Query Analyser pour vérifier qu'elle retournait bien quelque chose ?

    Sinon, as tu un message d'erreur ? Si oui, envoi l'image écran.

    @+

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 89
    Points : 56
    Points
    56
    Par défaut
    C'est bon, ca marche !

    Encore merci

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

Discussions similaires

  1. [XL-2007] Créer une liste de validation à partir de données contenues dans un autre fichier
    Par familledacp dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 11/10/2011, 18h03
  2. Réponses: 2
    Dernier message: 05/10/2007, 23h49
  3. Generer des graphes à partir de données contenue dans un serveur
    Par Premium dans le forum API standards et tierces
    Réponses: 1
    Dernier message: 09/05/2007, 17h31
  4. [IReport]Tableau a partir de donnée sous Java
    Par Devilpika dans le forum iReport
    Réponses: 3
    Dernier message: 31/01/2007, 10h30
  5. [XSLT] Comment afficher un tableau à partir d'un xml complexe ?
    Par druidev dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 14/11/2006, 17h27

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