Vous manquez des opportunités de trading :
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Inscription
Se connecter
Vous acceptez la politique du site Web et les conditions d'utilisation
Si vous n'avez pas de compte, veuillez vous inscrire
comment lire le résultat de la fonction mysql_fetch_row dans MQL4 ?
Je suis en train de développer un script pour travailler avec une base de données MySQL pour lire, insérer, supprimer et modifier.
Le script est volumineux, mais l'essentiel du travail avec la base de données sera compréhensible, je pense, à partir d'une seule fonction.
Cependant, dans cet exemple, l'ID de l'enregistrement de la table est renvoyé, mais ce ne sera pas un problème à refaire, je me souviens et le texte et les chiffres renvoyés de la base de données, tout a fonctionné.
a fait une petite expérience d'investigation
J'ai créé une table avec deux champs
INT id ; TEXT utilisateur
il y a deux lignes dans la table
id utilisateur
1 aaa
2 bbb
1. Lors de la requête "SELECT id FROM table", la fonction fetch_row renvoie (adresse)(adresse) 1 (adresse)(adresse) 2
2. Dans la requête "SELECT user FROM table", la fonction fetch_row renvoie (adresse) aaa (adresse) bbb
En général, cela peut être géré, le seul inconvénient est qu'il renvoie une chaîne de caractères.
Si j'interroge deux champs "SELECT id, user FROM table", la fonction renvoie (adresse) 1 (adresse) (adresse) (adresse) 2
4. Si nous échangeons les champs "SELECT user, id FROM table", la fonction renvoie (adresse) aaa (adresse) bbb
il s'avère que seul le premier champ de la chaîne est clairement visible et qu'une autre adresse de 4 octets est ajoutée.
a fait une petite expérience d'investigation
créé une table avec deux champs
INT id ; TEXT user
le tableau a deux rangées
id utilisateur
1 aaa
2 bbb
1. Lors d'une requête "SELECT id FROM table" la fonction fetch_row renvoie (adresse)(adresse) 1 (adresse)(adresse) 2
2. Lorsque l'on demande la fonction fetch_row "SELECT user FROM table", elle renvoie (adresse) aaa (adresse) bbb
En général, elle peut être traitée, mais le retour est une chaîne de caractères.
3. Si la fonction renvoie deux champs "SELECT id, user FROM table", elle renvoie (adresse) 1 (adresse) (adresse) 2
4. Si nous échangeons les champs "SELECT user, id FROM table", la fonction renvoie (adresse) aaa (adresse) bbb
il s'avère que seul le premier champ de la chaîne est explicitement vu et qu'une autre adresse de 4 octets est ajoutée.
Comment l'intégrer ensuite dans le programme ?
Je vais essentiellement écrire des nombres à virgule flottante et les lire.
Je suis en train de développer un script pour travailler avec une base de données MySQL pour lire, insérer, supprimer et modifier.
Le script est volumineux, mais l'essentiel du travail avec la base de données sera compréhensible, je pense, à partir d'une seule fonction.
Il est vrai que cet exemple renvoie l'ID de l'enregistrement à partir de la table, mais pour le refaire, pas de problème, je me souviens du texte et des chiffres renvoyés par la base de données, tout a fonctionné.
Cet exemple est intéressant, mais il ne montre pas comment lire des données numériques.
En gros, je veux utiliser une base avec un tableau de trois colonnes pour seulement deux actions :
1) Lire les deux premières colonnes (index et première colonne numérique)
Choisissez ensuite le numéro le plus pertinent dans la colonne numérique du programme MQ4.
2) Lisez le nombre de la deuxième colonne en utilisant l'indice de ce nombre.
Quelles fonctions dois-je utiliser pour cela ? Et fonctionnent-ils normalement dans la DLL spécifiée ?
Cet exemple est intéressant, mais il ne montre pas comment lire des données numériques.
Avez-vous écrit une ligne de code pour voir ce qui est renvoyé et comment ?
HIDDEN a déjà donné une solution complète pour lire un champ de la base de données. L'avez-vous exécutée ?
Si vous pouvez aider à écrire un convertisseur ansi vers unicode pour MKL5, dont le code est donné dans le post précédent. Je vous enverrai le code de travail pour MKL4, il vous aidera également à écrire la classe pour MKL5.
MQL5 dispose de fonctions pour convertir l'unicode. Voir /fr/docs/convert/chararraytostring et /fr/docs/convert/stringtochararray.
Déclarer des tableaux uchar au lieu de chaînes de caractères dans l'importation de fonctions.
Dans les fonctions d'importation, ne déclarez pas des chaînes de caractères, mais des tableaux de type uchar.
Le problème est, malheureusement, que ces chaînes sont renvoyées comme résultat d'une fonction, et non comme l'un de ses & paramètres.
mysql_fetch_row renvoie un pointeur vers un tableau de chaînes de caractères - char**.
--------
quelqu'un sait-il s'il existe des fonctions de bas niveau du noyau qui peuvent retourner une chaîne de caractères ** à partir d'un tableau de caractères?
(comme strcpy, strcat...)
et de la même façon à partir d'un tableau d' int* - une fonction de la librairie pour récupérer son élément spécifique ?
même si la fonction elle-même n'est pas conçue pour cette opération directement :)
Mise en œuvre du code complet....
vidage SQL de la base de données
Résultat du travail