Новая статья: SQL и MQL5 - Работаем с базой данных SQLite

 

На mql5.com опубликована статья SQL и MQL5: Работаем с базой данных SQLite:

Данная статья рассчитана на программистов, проявившим интерес к использованию SQL в своих проектах. В статье читателям представляется функциональность SQLite, а также рассматриваются ее преимущества. Статья не требует знание функций SQLite, но минимальные знания SQL приветствуются.

SQL и MQL5: Работаем с базой данных SQLite

Многие разработчики задумывались над необходимостью использовать в своих проектах базы данных для хранения информации, но каждый раз останавливались, зная, какими дополнительными затратами времени сопровождается установка SQL-сервера. Если для программистов выполнить это не так сложно (или СУБД уже установлена для других целей), то для обычного пользователя данная операция вызовет много вопросов, либо вообще отобьет желание устанавливать софт.

В таком случае программист просто не связывается с СУБД, понимая, что кроме него этим решением воспользуются единицы. В конечном итоге в ход идет работа с файлами (часто не одним при разрозненности данных): использование CSV, реже XML или JSON, либо запись бинарных данных с жестким размером структуры и т.п.

Но, как оказывается, есть отличная альтернатива SQL-серверу! При этом не нужно устанавливать дополнительный софт, вся работа идет локально в вашем проекте, но при этом вы используете всю мощь языка SQL. Имя этой альтернативы - SQLite.

Цель данной статьи - обеспечить быстрый старт в использовании SQLite. Поэтому я не буду углубляться в тонкости и всевозможные наборы параметров или флагов функций, а создам легкую обвертку-коннектор, которая выполняет SQL команды, и на примерах покажу ее применение.

Необходимые условия для работы со статьей:

  • Хорошее настроение ;)
  • Распакуйте архив из приложения к статье в папку рабочего терминала MetaTrader 5
  • Установите любую удобную для вас утилиту просмотра SQLite баз (например, SQLiteStudio)
  • Добавьте в закладки официальную документацию по SQLite http://www.sqlite.org

Автор: o_O

 
А можно что-то подобное для MQL4 сделать?
 
valer_1:
А можно что-то подобное для MQL4 сделать?
В MetaTrader 4 можно тот же код использовать, так как MQL5 и MQL4 стали по сути одинаковыми.
 
По сути может и да, но на практике не работает. Кое что в коде подправил, но в итоге всё равно упираюсь в сообщение:

'sqlite3_64.dll' is not 32-bit version

(MT4 build 610)

Кому-то удалось запустить это в MT4?

 
valer_1:
По сути может и да, но на практике не работает. Кое что в коде подправил, но в итоге всё равно упираюсь в сообщение:

'sqlite3_64.dll' is not 32-bit version

(MT4 build 610)

Кому-то удалось запустить это в MT4?

А зачем вызывать х64 версию на х32 машине?
 
valer_1:

'sqlite3_64.dll' is not 32-bit version

зачем вы 64 битную либу в МТ4 используете?
решил перестраховаться и собрать по рекомендации последней главы? :))
 

Я её не собирал, я просто скопировал всё из архива. Там 2 длл-ки - 32 и 64-битная. Думал он сам должен выбрать ту что ему нужна.

А ОС у меня 64-битная.

 

А где приложение к статье с оберткой для вызовов 

?

(

https://github.com/dingmaotu/mql-sqlite3
dingmaotu/mql-sqlite3
dingmaotu/mql-sqlite3
  • dingmaotu
  • github.com
This is a complete binding of the SQLite3 library (version 3180000) for the MQL4/5 language used by MetaTrader4/5. SQLite is an fast embeded SQL engine written in C and widely used by a lot of projects. We always have the need to persistent states of Expert Advisors and SQLite seems to be the best solution. This binding tries to remain...
Причина обращения: