народу требуется обмениваться данными между терминалами, что если по аналогии с файлами сделать возможность одному подключаться на редактирование а другим только на чтение? и все это через супер быструю память
2) Неполное описание первого параметра функции DatabaseRead: int database, // хендл базы данных, полученный в DatabaseOpen; Так как в DatabasePrepare предоставлена более полная информация: с оздает хендл запроса, который затем может быть исполнен с помощью DatabaseRead().
5) Опечатка в описании параметра функции DatabaseColumnName (должно быть "для получения имени поля")
string& name // ссылка на переменную для получения имени таблицы
Важной особенностью данного движка является то, что вся база данных находится в единственном стандартном файле, который находится на компьютере пользователя. Простота реализации достигается за счёт того, что перед началом исполнения транзакции записи файл, содержащий базу данных, блокируется. При этом...
SQL запрос имеет специальный формат. Это же не чистый SQL. Все пишется внутри вызова функции и без запятых между строками? Или можно инициализировать массив string? Нужны примеры.
Renat Fatkhullin: Перед нами вообще такой задачи не стоит.
Перед вами - да, не стоит. Разработчикам же уже давно нужен какой-то адекватный потокобезопасный механизм обмена сообщениями. Базы для этого видятся хорошим вариантом, пусть и не напрямую, но через дополнительные потокобезопасные обертки.
Перед вами - да, не стоит. Разработчикам же уже давно нужен какой-то адекватный потокобезопасный механизм обмена сообщениями. Базы для этого видятся хорошим вариантом, пусть и не напрямую, но через дополнительные потокобезопасные обертки.
Скорее всего разрешим в ресурсы включать и эти файлы будут автоматически извлекаться на диск при первом запуске программы.
То есть, никакого распухания базы внутри ex5 не будет. С файлом можно работать только на диске.
Так же прошу рассмотреть, ещё нужный функционал. Нужна функция DatabaseSaveMemoryToFile, которая будет сохранять базу открытую как DATABASE_OPEN_MEMORY, в файл на диск. То есть для скорости обмена данных используем память, и если нужно сохраняем данные в файл на диск. Как это сделано в Обзоре рынка, сперва данные поступают в обзор рынка, а затем сохраняются в историю.
И функция обратного извлечения, из файла в память DatabaseExtractFileToMemory По такому принципу работает база KDB+
Может мало кто знает, что при сохранении ресурса на диск функцией ResourceSave нецветовые данные искажаются. Эта функция заточена только под сохранение изображений.
Это к вопросу о включении БД в ресурс и сохранении на диске.
Реter Konow: Может мало кто знает, что при сохранении ресурса на диск функцией ResourceSave нецветовые данные искажаются. Эта функция заточена только под сохранение изображений.
Это к вопросу о включении БД в ресурс и сохранении на диске.
Включение файла БД в ресурс, скорее всего предназначен будет, только для первичной распаковки файла на диск, из ex5. Дальнейшая работа с базой, происходит напрямую с файлом.
Для авторизации и пользования сайтом MQL5.com необходимо разрешить использование файлов Сookie.
Пожалуйста, включите в вашем браузере данную настройку, иначе вы не сможете авторизоваться.
Вы вошли в аккаунт. Двухфакторная аутентификация отключена. Настройте её заново и отсканируйте новый QR-код или продолжите с отключённой двухфакторной аутентификацией.
народу требуется обмениваться данными между терминалами, что если по аналогии с файлами сделать возможность одному подключаться на редактирование а другим только на чтение? и все это через супер быструю память
в mql4 будет?Пользуйте Memlib.mqh.
Пользуйте Memlib.mqh.
не нашел что это такое
Так же прошу обратить внимание на следующие недостатки, которые удалось обнаружить:
1) Описание функции DatabaseExecute не соответствует действительности, а скопирована с DatabasePrepare.
2) Неполное описание первого параметра функции DatabaseRead: int database, // хендл базы данных, полученный в DatabaseOpen;
5) Опечатка в описании параметра функции DatabaseColumnName (должно быть "для получения имени поля")Так как в DatabasePrepare предоставлена более полная информация: с оздает хендл запроса, который затем может быть исполнен с помощью DatabaseRead().
string& name // ссылка на переменную для получения имени таблицы
Спасибо, исправили. Обновление будет на сайте в разделе Работа с базами данных.
Спасибо, исправили. Обновление будет на сайте в разделе Работа с базами данных.
DatabaseRead параметры в описании не верные.
Должен принимать хэндл на SQL-запрос.
Уже переписал свой проект с импортируемой длл sqlite3, на встроенный функционал - все отлично.
P.S. Проверьте функционал сброса LastError в Database.... функциях.
Перед нами вообще такой задачи не стоит.
Перед вами - да, не стоит. Разработчикам же уже давно нужен какой-то адекватный потокобезопасный механизм обмена сообщениями. Базы для этого видятся хорошим вариантом, пусть и не напрямую, но через дополнительные потокобезопасные обертки.
Перед вами - да, не стоит. Разработчикам же уже давно нужен какой-то адекватный потокобезопасный механизм обмена сообщениями. Базы для этого видятся хорошим вариантом, пусть и не напрямую, но через дополнительные потокобезопасные обертки.
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Сервисы. Уже работают?
Renat Fatkhullin, 2018.12.17 21:48
Механизмы обмена продумаем, давно пора.
Скорее всего разрешим в ресурсы включать и эти файлы будут автоматически извлекаться на диск при первом запуске программы.
То есть, никакого распухания базы внутри ex5 не будет. С файлом можно работать только на диске.
Так же прошу рассмотреть, ещё нужный функционал.
И функция обратного извлечения, из файла в память DatabaseExtractFileToMemoryНужна функция DatabaseSaveMemoryToFile, которая будет сохранять базу открытую как DATABASE_OPEN_MEMORY, в файл на диск.
То есть для скорости обмена данных используем память, и если нужно сохраняем данные в файл на диск.
Как это сделано в Обзоре рынка, сперва данные поступают в обзор рынка, а затем сохраняются в историю.
По такому принципу работает база KDB+
Может мало кто знает, что при сохранении ресурса на диск функцией ResourceSave нецветовые данные искажаются. Эта функция заточена только под сохранение изображений.
Включение файла БД в ресурс, скорее всего предназначен будет, только для первичной распаковки файла на диск, из ex5.
Дальнейшая работа с базой, происходит напрямую с файлом.