Comment remplir un datagrid par socket

Signaler
Messages postés
3
Date d'inscription
jeudi 24 juillet 2008
Statut
Membre
Dernière intervention
16 mai 2009
-
Messages postés
3
Date d'inscription
jeudi 24 juillet 2008
Statut
Membre
Dernière intervention
16 mai 2009
-
le client lance une requête de sélection vers le serveur et souhaite reccupper le résultat dans un dataGrid. Comment faire?

3 réponses

Messages postés
3
Date d'inscription
jeudi 24 juillet 2008
Statut
Membre
Dernière intervention
16 mai 2009

Bonjour
Je viens de lire le règlement et je présente toutes mes excuses pour mon manque d'éducation et mon manque de savoir vivre. C'est la toute première fois que j'interviens sur un forum. Je crois que la leçon est comprise.

Mon problème est le suivant:
 Je souhaite remplir un tableau (DataGrid) à partir des information reçu du serveur socket.
 Le langage de développement est Windev version 9. Je souhaiterais connaitre la méthodologie quelque soit le langage C++, Delphi, VB que je maitrise aussi.

Explication:
Le serveur reçois un requête : select code, libelle from Marque qu'il execute.
voici le code coté serveur:

// Exécuter la requête et récupérer le résultat ligne à ligne
i est un entier = 0
nCompteur est un entier
sMessageRetour est une chaîne
SI PAS SQLExec(sLaRequete, "REQ1") ALORS   
    SQLInfoGene ("REQ1")
    sMessageRetour= SQL.MesErreur
SINON
        sLesColonnes est une chaîne=SQLColonne("REQ1",Faux)
        nNbreColonne est un entier= ChaîneOccurrence(sLesColonnes,RC)+1  
        TANTQUE SQLAvance("REQ1") = 0 // Il y a encore une ligne à lire   
            sMessageRetour=""
            POUR nCompteur=1 A nNbreColonne
                // Récupérer les données
                sMessageRetour = SQLLitCol("REQ1", nCompteur)
                SI SocketExiste(sNomConnexion) ALORS       
                    // On envoie le message       
                    SocketEcrit(sNomConnexion,sMessageRetour)
                    sMessageRetour    =""
                FIN
            FIN       
            SI SocketExiste(sNomConnexion) ALORS       
                // On envoie le message       
                SocketEcrit(sNomConnexion,"FIN_LIGNE")   
            FIN
           
        FIN   
   
FIN
SI SocketExiste(sNomConnexion) ALORS       
    // On envoie le message
    SocketEcrit(sNomConnexion,"FIN")   
FIN
SQLFerme("REQ1")

Coté Client:
Le client recois le message du serveur et reconstitu la ligne qu'il insere dans un tableau

sLaLigneDuTableau est une chaîne=""

BOUCLE   
    SI SansEspace(sMessageRetourServeur) <> "" ALORS   
        // reconstitution de la ligne. chaque colonne est séparée par TAB   
        sLaLigneDuTableau += sMessageRetourServeur+TAB
        //initialisation du message reçu du serveur
        sMessageRetourServeur=""               
        SI bFinLigneTableau ALORS
            // tou la ligne estconstituées  
            // ajoute dans table
            TableAjouteLigne(Table_Liste_des_marques,sLaLigneDuTableau )
            sLaLigneDuTableau=""       
            bFinLigneTableau= Faux
        FIN   
    FIN
    SI     bFinMessageRetourServeur     ALORS   
        SORTIR
    FIN
FIN

Voila Mon probleme:
Toute la ligne constituée se loge dans une seule colonne.

Merci et encore toutes mes excuses.

Cordialement

PS: J'ai fais des recherches qui n'ont pas abouties. raison pour laquelle j'expose mon soucis.
Messages postés
2226
Date d'inscription
dimanche 5 octobre 2003
Statut
Modérateur
Dernière intervention
18 novembre 2010
13
Ok, par contre tu es sur le forum DELPHI et non WINDEV :/
Je te conseille http://www.codyx.org/snip_lang_windev_26.aspx ou "le bar" dans le forum.
Messages postés
3
Date d'inscription
jeudi 24 juillet 2008
Statut
Membre
Dernière intervention
16 mai 2009

Merci
Je jette un oeil  tout de suite

Cordialement