Problème affichage données dans DataGrid

Signaler
Messages postés
132
Date d'inscription
dimanche 15 février 2004
Statut
Membre
Dernière intervention
9 mai 2017
-
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
-
Bonjour,
J'ai énorme soucis d'affichage avec les données de ma table dans mon DataGrid, j'ai une table qui contient environ 15000 enregistrements que j'affiche donc dans le DataGrid soucis c'est que celui-ci mais environ 30mn pour m'afficher le contenu donc je pense qu'il y a un soucis mais lequel ... ???

Ci vous pouviez m'aider à éclaircir se problème ça m'arrangerait.

Merci d'avance à tous.

Mon code :

        'Chaîne de connexion à la BDD
        Dim SqlConn As String = "Driver=Firebird/InterBase(r) driver;Server=localhost;" + _
        "Database=localhost:CheminBDD;Uid=SYSDBA;Pwd=masterkey;"

        'Outil de connexion à BDD
        Dim myDA As New Odbc.OdbcConnection(SqlConn)

        'Ouverture de la BDD
        Try
            myDA.Open()
        Catch ex As Exception
            MsgBox("Erreur de connection à la BDD !" + _
            Chr(13) + Chr(13) + "Détails :" + Chr(13) + ex.Message(), MsgBoxStyle.Critical, "Fluox")
            Exit Sub
        End Try

        Dim ReqSQL = "SELECT * FROM " & Me.CMB_TABLE.Text

        'Table de données en mémoire
        Dim adapter As New Odbc.OdbcDataAdapter(ReqSQL, myDA)

        'Création de l'objet Dataset :
        Dim DataSet As New DataSet

        Try
            'Chargement des données dans la table adapter
            adapter.Fill(DataSet, Me.CMB_TABLE.Text)

            Me.DataGrid.DataSource = dt

        Catch ex As Exception
            MsgBox("Erreur de chargement des données !" + Chr(13) + Chr(13) + "Détails :" _
            + Chr(13) + ex.Message(), MsgBoxStyle.Critical, "Fluox")
            Exit Sub
        End Try

    End Sub

Johann36

8 réponses

Messages postés
3275
Date d'inscription
jeudi 3 avril 2008
Statut
Membre
Dernière intervention
14 septembre 2014
4
as tu vraiment besoin d'afficher les 15000 enregistrements d'un seul coup?

Bonjour chez vous !
Messages postés
132
Date d'inscription
dimanche 15 février 2004
Statut
Membre
Dernière intervention
9 mai 2017

Bonjour gillardg,

Malheureusement non, je suis obligé d'afficher les 15 000 enregistrements (j'ai pas le choix, enfin du moins on ne me l'a pas laissé).
Je ne sais pas comment faire pour palier à ce problème car 30mn pour afficher 15 000 enregistrements c'est de la folie !!!

En parallèle j'utilise un logiciel qui ce nomme "Fb Export" qui me permet d'ouvrir une BDD *.gdb (la mienne entre autre), je peux ainsi faire la comparaison du contenu des données de la table pour savoir si ce que j'ai fait est ok. Quelle est la relation avec mon problème ? C'est que ce logiciel pour afficher 15 000 enregistrements met environ 2s donc il y a pas photo entre mon appli et le logiciel.

Encore une fois malheureusement je ne peux pas me servir de ce logiciel pour faire ce que j'ai besoin.

Merci de m'aider.

Johann36
Messages postés
3275
Date d'inscription
jeudi 3 avril 2008
Statut
Membre
Dernière intervention
14 septembre 2014
4
en fait le logiciel ne met dans la grille que 2 ou 3 pages écran c'est pour cela


" qu'il vas plus vite "  il n'y a pas de miracles










Bonjour chez vous !
Messages postés
132
Date d'inscription
dimanche 15 février 2004
Statut
Membre
Dernière intervention
9 mai 2017

C'est à dire ?
Messages postés
3275
Date d'inscription
jeudi 3 avril 2008
Statut
Membre
Dernière intervention
14 septembre 2014
4
je ne sais pas vraiment mais en y reflechissant un peu ....
2 variables avec les numéros de lignes
les scrollbar...
if scroll_down then


afficher une page


end if     ??????????????

Bonjour chez vous !
Messages postés
132
Date d'inscription
dimanche 15 février 2004
Statut
Membre
Dernière intervention
9 mai 2017

Ok super !

Est-ce que tu connais par contre la requête qui permet par exemple de séléctionner les 100 premiers enregistrements tout en sachant que je ne connais pas le nom des champs donc en utilisant "*" ?

Je sais qu'il existe la fonction TOP mais il faut lui affecter un champs et moi c'est pas possible.
Messages postés
3275
Date d'inscription
jeudi 3 avril 2008
Statut
Membre
Dernière intervention
14 septembre 2014
4
non je ne sais pas mais pose ta question sur http://www.sqlfr.com/
qui est le site réservé au SQL dans codes-sources, tu auras plus de chances d'avoir une réponse rapide

Bonjour chez vous !
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
42
salut,

c'est LIMIT mais çà n'a aucun rapport ici
ce n'est pas un problème de requête mais de dessin, comme le disait gillardg

il ne faut pas refaire la requête à chaque mouvement de scroll, il faut regarder dans les propriétés de la grid...

++
<hr size="2" width="100%" />Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp