ngbemartin
Messages postés3Date d'inscriptionjeudi 24 juillet 2008StatutMembreDernière intervention16 mai 2009
-
15 mai 2009 à 23:25
ngbemartin
Messages postés3Date d'inscriptionjeudi 24 juillet 2008StatutMembreDernière intervention16 mai 2009
-
16 mai 2009 à 20:58
le client lance une requête de sélection vers le serveur et souhaite reccupper le résultat dans un dataGrid. Comment faire?
ngbemartin
Messages postés3Date d'inscriptionjeudi 24 juillet 2008StatutMembreDernière intervention16 mai 2009 16 mai 2009 à 20:25
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.