Обсуждение статьи "SQLite: нативная работа с базами данных на SQL в MQL5" - страница 10
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Спасибо, проверим.
Взаимно!
Нужно также проверить ON DELETE и ON UPDATE:
Без этого работа сильно усложняется.
Спасибо за ответ!
У меня почему-то результат не тот, который ожидаю:
//---
Где ошибка?
И вот с этим тоже хочется разобраться:
Наша ошибка была в том, что собрали без SQLITE_DEFAULT_FOREIGN_KEYS.
Уже исправлено и работает - будет доступно в бете сегодня вечером. Таблицу с FOREIGN KEYS надо будет заново пересоздать для примера выше.
Команды в панели будем позже смотреть.
Наша ошибка была в том, что собрали без SQLITE_DEFAULT_FOREIGN_KEYS.
Уже исправлено и работает - будет доступно в бете сегодня вечером. Таблицу с FOREIGN KEYS надо будет заново пересоздать для примера выше.
Команды в панели будем позже смотреть.
Спасибо! Обязательно протестирую.
Привет,
Кажется, что-то не так.
Я создал базу данных "signals.sqlite" и получил подтверждение, что она существует. Я сохранил данные в базу данных и получил подтверждение, что 63 записи были сохранены. К сожалению, я не могу ничего прочитать из базы данных, и когда я проверяю базу данных, я не могу найти файл "signals.sqlite". Однако я нахожу каталог в XM MT5/Bases/signals и в этом каталоге файл "signals.dat", который не читается для меня и имеет размер 3845 kb.
Вопрос в том, где я могу найти файл "signals.sqlite" и если нет, то как я могу его отредактировать?
Я использую XM MT5 build 3521
.
Файл обычно хранится в "<папка данных>\MQL5\Files", если вы не использовали флаг DATABASE_OPEN_COMMON.
Файл "signals.dat" не имеет никакого отношения к SQLite.
Обычно файл хранится в папке "<папка данных>\MQL5\Files", если только вы не использовали флаг DATABASE_OPEN_COMMON.
Файл "signals.dat" не имеет никакого отношения к SQLite.
Привет, Фернандо, спасибо за ответ
Я ожидал этого, потому что это указано в описании, но, к сожалению, каталог файлов пуст, и я создал базу данных с помощью этой команды:
filename="signals.sqlite"
int db=DatabaseOpen(filename, DATABASE_OPEN_READWRITE | DATABASE_OPEN_CREATE |DATABASE_OPEN_COMMON);
например, с флагом DATABASE_OPEN_COMMON
DATABASE_OPEN_COMMON
Файл находится в общей папке всех терминалов
как интерпретировать ii?@Zbigniew Mirowski #: I expected it, because it is in the description, but unfortunately the files directory is empty and I created the database with this command:
filename="signals.sqlite"
int db=DatabaseOpen(filename, DATABASE_OPEN_READWRITE | DATABASE_OPEN_CREATE |DATABASE_OPEN_COMMON);
например, с флагом DATABASE_OPEN_COMMON
DATABASE_OPEN_COMMON
Файл находится в общей папке всех терминалов
как интерпретировать ii?
Затем вы найдете его в"%APPDATA%\MetaQuotes\Terminal\Common\Files".
Теперь у меня новая проблема. Я пришел к выводу, что, возможно, ошибка кроется в том, что я установил MT5 на диск C в Program files, и, возможно, в новой Win11 есть какие-то ограничения доступа. Поэтому я установил новый экземпляр на другой диск, новый демо-счет и попытался установить эту базу данных там и... Я получил:
2022.11.30 10:37:26.036 CreateDB (EURUSD,H1) database error, table Signals already exists.
При создании базы данных я сразу создаю таблицы. Create не выдает ошибку, потому что он также открывает базу данных, но создание таблицы выдает ошибку.
Я обыскал весь компьютер и файлы "signals.sqlite" не были найдены, но я снова нашел файл "signals.dat".
Вау, я нашел файл "signals.sqlite"
C:\Users\name\AppData\Roaming\MetaQuotes\Terminal\Common\Files
В файле "signals.sqlite" есть только структура, и я подозреваю, что в файле signals.dat есть данные
C:\Users\name\AppData\Roaming\MetaQuotes\Terminal\Common\Files
Но это не совсем то место, где я говорил вам, где вы его найдете?