Обсуждение статьи "Работа с СУБД MySQL из MQL5 (MQL4)" - страница 14
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
начало постоянно вылазить, что значит?
при выполнении моего кода в этой строчке
if(DB==-1){DB=MySqlConnect(Host, User, Password, Database, Port, Socket, ClientFlag);}
res = MySqlCursorOpen(DB, "SELECT id, account, symbol FROM `current` WHERE account="+account);
В MQL все строки юникодные и вы их передаете вместо ANSI.
Поэтому и падает дллка.
В MQL все строки юникодные и вы их передаете вместо ANSI.
Поэтому и падает дллка.
если убираю условие то всё работает, в общем то можно переделать по другому, просто не понятно почему крашится
//if(DB==-1){
DB=MySqlConnect(Host, User, Password, Database, Port, Socket, ClientFlag);
//}
res = MySqlCursorOpen(DB, "SELECT id, account, symbol FROM `current` WHERE account="+account);
В MQL все строки юникодные и вы их передаете вместо ANSI.
Поэтому и падает дллка.
если убираю условие то всё работает, в общем то можно переделать по другому, просто не понятно почему крашится
//if(DB==-1){
DB=MySqlConnect(Host, User, Password, Database, Port, Socket, ClientFlag);
//}
res = MySqlCursorOpen(DB, "SELECT id, account, symbol FROM `current` WHERE account="+account);
А что за логика? у Вас коннект до этого кода выполнен? Чему DB равно до условия? Если переменная DB не инициализирована, то скорее всего из-за этого.
А в последнем примере вы штатно открываете соединение с базой и поэтому курсор тоже отрабатывает
Скрипты поставляемые с DLL отрабатывают?Приветствую Евгений!
За скрипт спасибо. Решил внедрить в свой проект. Но на стадии тестирования скриптов которые Вы приложили к проекту у меня есть 1 баг, не понятного рода. Не работает ReadIni. Может я что не так делаю, но он всегда возвращает пустые значения из ini. В чем может быть причина? Я подозреваю, что не находит файл по указанному пути, но я проверил из разных директорий все правильно и на месте.
Если Прописать данные для соединения в коде напрямую, то все работает хорошо.
использую mt4.Приветствую Евгений!
За скрипт спасибо. Решил внедрить в свой проект. Но на стадии тестирования скриптов которые Вы приложили к проекту у меня есть 1 баг, не понятного рода. Не работает ReadIni. Может я что не так делаю, но он всегда возвращает пустые значения из ini. В чем может быть причина? Я подозреваю, что не находит файл по указанному пути, но я проверил из разных директорий все правильно и на месте.
Если Прописать данные для соединения в коде напрямую, то все работает хорошо.
использую mt4.Проверить пути надо... UAC скорее всего влияет. Вы какой путь задаете к INI? К директории терминала или Data?
И вот еще проблема: русский текст вставляется караказябами. Я конечно понимаю, что в dll выполняется перекодировка, но у меня бд на UTF-8. Что мне делать, чтобы читабельный русский текст вставлялся...? это мне сильно упростит жизнь...
Да, конвертация в ASCII идет, от китайских собратьев тоже замечание по этому поводу есть. Как появится время я постараюсь исправить это.
Проверить пути надо... UAC скорее всего влияет. Вы какой путь задаете к INI? К директории терминала или Data?
В Вашем архиве примеры есть...вот в них все оставил как есть. Просто поменял ini.
Проблему в общем решил. Сам затупил. Просто раньше папка с MT4 и папка с данными были едины. Теперь папка для данных хранится в специальной секции Windows. Путь правильно теперь брать TerminalInfoString(TERMINAL_DATA_PATH) а не TerminalPath()
В Вашем архиве примеры есть...вот в них все оставил как есть. Просто поменял ini.
Проблему в общем решил. Сам затупил. Просто раньше папка с MT4 и папка с данными были едины. Теперь папка для данных хранится в специальной секции Windows. Путь правильно теперь брать TerminalInfoString(TERMINAL_DATA_PATH) а не TerminalPath()
Хм... это где-то в старой библиотеке, в последних версиях (выложенных в обсуждении) я правил если мне память не изменяет :)
Ок. тогда остается проблема с UTF. постараюсь решить на этой неделе до выходных, если меня не перегрузят работой