SQLite dans MQL5 : nouvelles fonctionnalités et tests de performance - page 4

 
Pavel Kolchin:

Si vous voulez échanger des données entre terminaux, que diriez-vous de permettre de connecter un terminal pour l'édition et l'autre uniquement pour la lecture ? Et tout cela via une mémoire ultra rapide.

Cela fonctionnera-t-il dans mql4 ?

Utilisez Memlib.mqh.

 
Dmitiry Ananiev:

Utilisez Memlib.mqh.

n'a pas trouvé ce que c'est

 
Sergey Dzyublik:

Veuillez également prêter attention aux inconvénients suivants, que nous avons découverts :

1) La description de la fonction DatabaseExecute n'est pas vraie, mais copiée de DatabasePrepare.

2) Description incomplète du premier paramètre de la fonctionDatabaseRead:intdatabase, // handle de la base de données obtenu dans DatabaseOpen ;
Depuis DatabasePrepare, les informations sont plus complètes : // crée un handle de requête, qui peut ensuite être exécuté avec DatabaseRead().

5) Il y a une faute de frappe dans la description du paramètre de la fonction DatabaseColumnName ( ce devrait être "pour obtenir le nom du champ").

string&name// référence à une variable pour obtenir le nom d'une table

Merci, cela a été corrigé. Une mise à jour sera disponible sur le site web dans la section Gestion des bases de données.

Документация по MQL5: Работа с базами данных
Документация по MQL5: Работа с базами данных
  • www.mql5.com
Важной особенностью данного движка является то, что вся база данных находится в единственном стандартном файле, который находится на компьютере пользователя. Простота реализации достигается за счёт того, что перед началом исполнения транзакции записи файл, содержащий базу данных, блокируется. При этом...
 
Une requête SQL a un format spécial. Ce n'est pas du SQL pur. Tout est écrit à l'intérieur de l'appel de fonction et sans virgule entre les chaînes de caractères ? Ou puis-jeinitialiser un tableau de chaînes de caractères ? J'ai besoin d'exemples.
 
Rashid Umarov:

Merci, cela a été corrigé. La mise à jour sera sur le site web dans la section Traitement des bases de données.


Les paramètres DatabaseRead dans la description ne sont pas corrects.

Doit prendre unhandle de la requête SQL.


J'ai déjà réécrit mon projet avec la dll sqlite3 importée, avec la fonctionnalité intégrée - tout va bien.


P.S. Vérifiez la fonctionnalité de réinitialisation de LastError dans Database..... fonctions.

 
Renat Fatkhullin:
Nous n'avons pas du tout cette tâche devant nous.

En face de vous, oui, ça ne l'est pas. Les développeurs, quant à eux, ont depuis longtemps besoin d'un mécanisme de messagerie à sécurité thread adéquate. Les bases semblent être une bonne option pour cela, bien que pas directement, mais par le biais d'enveloppes supplémentaires à sécurité thread.

 
Vasiliy Sokolov:

En face de vous, oui, ça ne l'est pas. Les développeurs, quant à eux, ont besoin depuis longtemps d'un mécanisme de messagerie à sécurité thread adéquate. Les bases semblent être une bonne option pour cela, bien que pas directement, mais par le biais d'enveloppes supplémentaires à sécurité thread.

 
Renat Fatkhullin:

Le plus souvent, nous autoriserons les ressources et ces fichiers seront automatiquement extraits sur le disque lors de la première exécution du programme.

C'est-à-dire qu'il n'y aura pas de gonflement de la base à l'intérieur de ex5. Avec le fichier, on ne peut travailler que sur le disque.

En outre, veuillez envisager une autre fonctionnalité nécessaire.
Nous avons besoin d'une fonction DatabaseSaveMemoryToFile, qui va sauvegarder la base de données ouverte comme DATABASE_OPEN_MEMORY, dans un fichier sur le disque.
Cela consiste à utiliser la mémoire pour la vitesse d'échange des données, et si nécessaire, sauvegarder les données dans un fichier sur le disque.
Comme cela est fait dans Market Watch, les données arrivent d'abord dans Market Watch et sont ensuite sauvegardées dans l'historique.

Et une fonction pour extraire, du fichier vers la mémoire DatabaseExtractFileToMemory
Voici comment la base de données KDB+ fonctionne
 
Il est peut-être peu connu que lorsque vous enregistrez une ressource sur le disque avec ResourceSave, les données non colorées sont déformées. Cette fonction est uniquement destinée à la sauvegarde des images.

Il s'agit de résoudre le problème de l'inclusion de la base de données dans la ressource et de sa sauvegarde sur le disque.
 
Реter Konow:
Il est peut-être peu connu que lorsque vous enregistrez une ressource sur le disque avec ResourceSave, les données non colorées sont déformées. Cette fonction est uniquement destinée à la sauvegarde des images.

Cela pose la question de l'inclusion de la base de données dans la ressource et de son stockage sur le disque.

L'inclusion du fichier de base de données dans la ressource est susceptible d'être destinée uniquement au déballage initial du fichier sur le disque, à partir de l'ex5.
La suite du travail avec la base de données se fait directement avec le fichier.

Raison: