Обсуждение статьи "Работа с СУБД MySQL из MQL5 (MQL4)" - страница 17

 

Это очень полезно.

Но есть проблема, когда я вставляю китайское слово в mysql с помощью такой команды "INSERT INTO table (name,value) VALUES ('Buy Order','Sell Order');", она возвращает &# nbsp;описание ошибки "Запрос пуст". nbsp;Описание ошибки "Запрос пуст".

Как решить эту проблему.

Как решить эту проблему.

 

Коллеги продублируйте пожалуйста актуальный релиз(ы),

лично мне нужна сборка для MQL5 x64, по ссылкам из ветки скачать не удается - 404

 
Khrisna Gunanasurya:

Здравствуйте, почему я получил это сообщение? Как это исправить?

Соединение не удалось! Ошибка: Невозможно подключиться к серверу MySQL по адресу 'mysql.hostinger.co.id' (10061) <~~~ раньше было 10060, не знаю, почему оно изменилось на это.

Может ли кто-нибудь помочь мне решить эту проблему? Я уже пробовал гуглить, но уперся в стену.

Спасибо

Привет Хрисна, Вы решили ошибку?
 

Привет,

У меня есть вопрос. Я хочу записывать сделки в таблицу MySQL, но всегда получаю сообщение об ошибке, что запрос пуст.

Когда я печатаю ошибку и запрос, он есть:

Ошибка #1065: Запрос был пуст; 3

Запрос: INSERT INTO algo_trades (date, time, curr, ticket, error, trade, lot, entry, sl, tp, spread) VALUES ('2017-9-1','14:3:58','GBPUSD',8705334,0,'Sell',2,1.29892,1.29961,1.29812,0.9)

Что может быть не так? Я использую эту библиотеку в другом коде таким же образом, и она работает абсолютно нормально.

Спасибо большое Евгению за то, что поделился.

 
cikahun:

Привет,

У меня есть вопрос. Я хочу записывать сделки в таблицу MySQL, но всегда получаю сообщение об ошибке, что запрос пуст.

Когда я печатаю ошибку и запрос, он есть:

Ошибка #1065: Запрос был пуст; 3

Запрос: INSERT INTO algo_trades (date, time, curr, ticket, error, trade, lot, entry, sl, tp, spread) VALUES ('2017-9-1','14:3:58','GBPUSD',8705334,0,'Sell',2,1.29892,1.29961,1.29812,0.9)

Что может быть не так? Я использую эту библиотеку в другом коде таким же образом, и она работает абсолютно нормально.

Спасибо большое Евгению, что поделился.

Наверное, быстрее использовать Google.

http://www.joellipman.com/articles/sql/error-1065-query-was-empty.html

SQL
  • 2012.12.13
  • Joel Lipman
  • www.joellipman.com
Posted on Dec 13, 12 at 01:12 PM What? In view of the fact that this error pops up in so many systems I take over, I have often gone down the wrong path following the red herring as it were when in fact the answer to this is very common. Why? Bespoke systems are the usual suspects. Developers will have told the system what to do when...
 
Alain Verleyen:

Возможно, быстрее использовать Google.

http://www.joellipman.com/articles/sql/error-1065-query-was-empty.html


Привет, Ален,

Спасибо большое! Я смог понять, что было не так.

В моем случае брокер дает мне символ валюты со знаком £. Я удалил его и все работает.

Еще раз спасибо.

 

Я использовал dll attechtment для запуска EA, но она не сработала, и в журнале появилось сообщение

"Cannot load 'C:\Users\ccb\AppData\Roaming\MetaQuotes\Tester\67381DD86A2959850232C0BA725E5966\Agent-127.0.0.1-3000\MQL5\libraries\' [193] Cannot call 'cMySqlVersion' [193] I used the attechtment dll to run EA but it did not work and the log showed MQLMySQL.dll' [193]
Cannot call 'cMySqlVersion', '... \libraries\MQLMySQL.dll' is not loaded
unresolved import function call".

Я использую mt5 x64

и вот мой код.


#include <MQLMySQL.mqh>
//--- входные параметры
string INI;
string Host, User, Password, Database, Socket; // учетные данные базы данных
int Port, ClientFlag; int ClientFlag;
int DB; // идентификатор базы данных
//+------------------------------------------------------------------+
//| Инициализация эксперта функция & nbsp; |
//+------------------------------------------- -----------------------+
int OnInit()
{
Print (MySqlVersion());
INI = TerminalInfoString(TERMINAL_PATH) + "\\\\\ MQL5\\\Scripts\\\\\ MyConnection.ini";
// чтение учетных данных базы данных из INI-файла
Host = ReadIni(INI, "MYSQL", "Host");
User = ReadIni(INI, "MYSQL", "User");
Password = ReadIni(INI, "MYSQL", "Password");
Database = ReadIni(INI, "MYSQL", "Database");
Порт = (int)StringToInteger(ReadIni(INI, "MYSQL", "Порт"));
Socket = ReadIni(INI, "MYSQL", " Socket");
ClientFlag = CLIENT_MULTI_STATEMENTS; //(int)StringToInteger(ReadIni(INI, "MYSQL", "ClientFlag"));

Print (" Host: ",Host, ", User: ", User, ", Database: ",Database);

// открываем соединение с базой данных
Print ("Connecting...") ;

DB = MySqlConnect(Host, User, Password, Database, Port, Socket, ClientFlag);

if (DB == -1)
Print (" Connection failed!Error: "+MySqlErrorDescription);
else Print ("Connected!DBID#",DB);
return 1;
}
//+-------------------- ----------------------------------------------+
//| Функция деинициализации эксперта & nbsp; &nbsp ; |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{

&nbsp ; MySqlDisconnect(DB);


}
//+--------------------------------------------------------------- ---+
//| Экспертная функция тика & nbsp; &nbsp ; ||
//+------------------------------------------------------------------+
void OnTick()
{
//---
& nbsp;
}
//+------------------------------------------------------------------+

dll-файл версии X64 не может быть загружен.

 
Я используюзапрос с несколькими вставками, но он не работает, но когда я использую одну вставку, он работает, вот запрос

Query = Query + "INSERT INTO `history` (an, oi, oc) VALUES (" + (string) AccountNumber() + ", " + (string) OrderTicket() + ", '" + (string) OrderComment() + "');";


Что я делаю не так? Это работает только с одиночной вставкой

 
Eugeniy Lugovoy:

Хм... это где-то в старой библиотеке, в последних версиях (выложенных в обсуждении) я правил если мне память не изменяет :) 

Ок. тогда остается проблема с UTF. постараюсь решить на этой неделе до выходных, если меня не перегрузят работой 

Добрый день Евгений.

Спасибо вам большое за данную библиотеку, активно её использую в своем проекте.

Подскажите пожалуйста проблему с UTF удалось победить? И как можно скачать актуальный релиз?

Нужна сборка MQL4 x32-x64. Ещё раз спасибо. )

 
Вы можете помочь мне изменить charset на UTF-8, спасибо большое