|
| Requête vers mémoire mysql |
| Iniciado por grego30, 29,mar. 2020 18:03 - 6 respuestas |
| |
| | | |
|
| |
Miembro registrado 31 mensajes |
|
| Publicado el 29,marzo 2020 - 18:03 |
Bonjour à tous,
J’ai une requête sur une BDD mysql qui est exécutée via sqlexec
Cette requête renvoi environ 130 colonnes et 500 lignes.
Est-il possible de charger le résultat de cette requête vers une structure ou autre mais qui m’éviterai une parcours traditionnel du type sqlpremier, affectation des valeurs dans un tableau , Sqlsuivant. Etc..
L’équivalent de la fonction sqltable mais pas vers un champ mais faire une structure ou autre variable mémoire?
Merci de votre aide.
Bon week-end |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 170 mensajes |
|
| Publicado el 29,marzo 2020 - 18:41 |
Salut,
Je n'utilise pas sqlexec, mais la doc dit :
" Récupération du résultat de la requête Le résultat de la requête peut être :
Transféré dans une table ou une liste (fonction SQLTable). Transféré dans des champs ou des variables (fonction SQLAssocie). Récupéré ligne par ligne (fonction SQLFetch). " Donc tu peux parcourir le résultat de ta requête ligne par ligne (fonction SQLFetch) et pour chaque ligne tu fais :
maLigne est un stResultat dynamique
AVEC maLigne .maColonne1 = maRequete.colonne1 ... .maColonneN = maRequete.colonneN FIN
en ayant pris soin de déclarer ta structure auparavant en décrivant toute les colonnes
stResultat est une structure maColonne1 est un entier maColonne2 est une chaîne ... maColonne500 est un booléen FIN
Bon courage 
-- -- Jean-Jacques |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 170 mensajes |
|
| Publicado el 29,marzo 2020 - 18:44 |
Oups, j'ai oublié de préciser de stocker tout ça dans un tableau
tabResultat est un tableau dynamiquedynamique de stResultat
et dans la boucle précédente :
maLigne est un stResultat dynamique
AVEC maLigne .maColonne1 = maRequete.colonne1 ... .maColonneN = maRequete.colonneN FIN
tabResultat.ajoute(maLigne)
-- -- Jean-Jacques |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 31 mensajes |
|
| Publicado el 29,marzo 2020 - 19:59 |
Bonjour et merci e votre réponse.
C'est bien ce que je fais aujourd'hui mais cela m'impose de réaliser l'affectation colonne / colonne sqllit
Il y a 130 colonne dans ma requête, donc il faut a chaque réaliser l'affectation variable1=Col1 variable2=Co2 etc et ça 130 fois.
Comme j'ai déjà pris le temps de créer un structure, j'aurai bien voulu éviter cette affectation manuelle.
D'autant plus que cela prend quand même un peu de temps en exécution.
Merci |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 182 mensajes |
|
| Publicado el 30,marzo 2020 - 07:57 |
| Bah sinon, si le tableau de la structure correspond exactement aux colonnes renvoyées, on peut utiliser dans ce cas FichierVersTableau tout simplement. |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 4.362 mensajes |
|
| Publicado el 30,marzo 2020 - 08:53 |
Bonjour, C'est justement ça le problème, grego30 veut l'équivalent pour une requête exécutée via SQLexe et non Via HexécuteRequêteSQL
-- Il y a peut être plus simple, mais, ça tourne |
| |
| |
| | | |
|
| | |
| |
| Publicado el 30,marzo 2020 - 09:44 |
Bonjour et merci e votre réponse.
C'est bien ce que je fais aujourd'hui mais cela m'impose de réaliser l'affectation colonne / colonne sqllit
Il y a 130 colonne dans ma requête, donc il faut a chaque réaliser l'affectation variable1=Col1 variable2=Co2 etc et ça 130 fois.
Comme j'ai déjà pris le temps de créer un structure, j'aurai bien voulu éviter cette affectation manuelle.
D'autant plus que cela prend quand même un peu de temps en exécution.
Merci Bonjour, tu peux utiliser des opérateurs d'indirections sur ta structure et une boucle sur tes sqlcol Mais l'indirection ça côute un peu en temps de réponse. sinon si tu veux garder tes instructions en affectations directes, tu peux utiliser excel pour te générer ton code redondant.
-- L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast. https://www.avast.com/antivirus |
| |
| |
| | | |
|
| | | | |
| | |
|