Attacher MySQL à MQ4

 

Bonjour, chers experts !

Lorsque j'écris un conseiller expert, la possibilité d'accéder à la base de données me manque vraiment !

Veuillez me dire comment me connecter à la base de données.

Comme je suis déjà familiarisé avec MySQL, il est préférable de l'utiliser.

 
 
Eugene1:

Bonjour, chers experts !
La possibilité d'accéder à la base de données lors de l'écriture d'un conseiller expert me manque vraiment !
Veuillez m'indiquer comment me connecter à la base de données.
Comme je suis déjà familiarisé avec MySQL, il est préférable de l'utiliser.


Malheureusement, vous ne pouvez ajouter des données à la base de données qu'en utilisant MQL.

Mais pour le lire - seulement avec l'aide de votre DLL.

 

Il est également possible de lire en utilisant la DLL standard de MySQL.

Il existe un certain nombre de complications, mais toutes sont résolubles.

 
HIDDEN:

Il est également possible de lire en utilisant la DLL standard de MySQL.

Il existe un certain nombre de complications, mais toutes sont résolubles.


Comment le résoudre ?
J'ai vu votre fil de discussion https://www.mql5.com/ru/forum/129879
 

En fait, MKL4 fonctionne normalement avec le muscle (reçoit et envoie des données) via libmySQL.dll. Il n'y a pas de problème avec MKL4, mais avec MKL5 il y a un gros problème à cause de l'Unicode. Dans la base de données, les informations sont normalement envoyées, mais les hiéroglyphes renvoyés (si vous parcourez la base de données dans d'autres programmes, tout s'affiche normalement). A ce stade, j'ai dû écrire un convertisseur de dll pour MKL5.

//----------------------------------------------------------+
function a2u(var s:pansichar):PWideChar; stdcall;
//----------------------------------------------------------+
var
  w: WideString;
begin
  w := s;
  Result := PWideChar(w);
end;

Le code est en Delphi. Le muscle fonctionne avec MT5 de telle manière. Je veux me débarrasser de cette dll, j'apprécierais que quelqu'un me dise comment faire.

J'ai une classe pour travailler avec SQLite depuis MT5, il y a une proposition pour écrire une classe similaire pour le muscle.

Une autre chose amusante à propos du muscle est que libmySQL.dll a des erreurs constantes qui font que le terminal se plante ou arrête le programme. Je vous recommande vivement de passer à MariaDB. Il est entièrement compatible avec le muscle et fonctionne de manière beaucoup plus stable, depuis 2 semaines aucune erreur n'est apparue.

 
Graff:

En fait, MKL4 fonctionne normalement avec le muscle (reçoit et envoie des données) via libmySQL.dll. Il n'y a pas de problèmes avec MKL4

comment récupérer les données du pointeur de structure renvoyé ?
 
sergeev:
comment récupérer les données du pointeur de structure renvoyé ?


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.
 
Graff:

le convertisseur ansi vers unicode pour MKL5, dont le code est donné dans le post précédent.

Dans Delphi, pas vraiment. J'ai besoin de voir le problème, car dans MQL, il peut être résolu de différentes manières. ou via un tableau uchar ou CharToString, etc.

 
sergeev:

J'ai besoin de voir le problème, parce que dans MQL il peut être résolu de différentes manières. ou via uchar array ou CharToString etc.


Ajoutez-moi sur Skype ou ICQ (contacts dans mon profil sur le site MKL5). Je vais vous envoyer tout le code source de MKL4 et MKL5 en une seule fois, mais j'ai besoin d'aide pour la conversion des chaînes de caractères.
 
Graff:

Ajoutez-moi sur Skype ou ICQ (contacts dans mon profil sur le site MKL5). Je vais vous envoyer tout le code source de MKL4 et MKL5 en une seule fois, mais j'ai besoin d'aide pour la conversion des lignes.

C'est mieux dans un message privé.