記事"MQL5 (MQL4)から MySQL データベースにアクセスする方法"についてのディスカッション - ページ 17

 

とても便利だ。

しかし、「INSERT INTO table (name,value) VALUES ('Buy Order','Sell Order');」のようなコマンドで中国語をmysqlに挿入すると、「クエリが空です。nbsp;「クエリが空です。

この問題の解決方法

この問題の解決方法

 

同僚の皆さん、実際のリリースを複製してください、

個人的にMQL5 x64のビルドが必要なのですが、スレッドからのリンクではダウンロードできません - 404

 
Khrisna Gunanasurya:

なぜこのメッセージが表示されるのですか?

接続に失敗しました!エラー:Mysql.hostinger.co.id' (10061)<~~~以前は10060でしたが、なぜこのように変わったのかわかりません。

どなたか解決方法を教えてください。すでにググってみたのですが、壁にぶつかってしまいました。

ありがとうございました。

クリスナさん、こんにちは。
 

こんにちは、

質問があります。MySQLのテーブルにトレードを記録したいのですが、いつもクエリが空だというエラーメッセージが出ます。

エラーとクエリを印刷すると、ちゃんと表示されます:

エラー#1065:クエリが空です。

クエリー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:クエリが空です。

クエリー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:

おそらくグーグルを使った方が早い。

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


こんにちは、アラン、

どうもありがとう!何が間違っているのかわかりました。

私の場合、ブローカーは通貨記号に£記号を付けています。それを削除したらうまくいきました。

ありがとうございました。

 

attechtmentのdllを使用してEAを実行しましたが、うまくいかず、ログには次のように表示されました。

「Cannot load 'C:◆Usersccb\AppData ◆Roaming ◆MetaQuotesTester ◆Agent-127.0.0.1-3000 ◆MQL5libraries' [193] Cannot call 'cMySqlVersion' [193] I used the attechtment dll to run EA but it didn't work and the log showedMQLMySQL.dll' [193]
Cannot call 'cMySqlVersion', '....\librariesMQLMySQL.dll' is not loaded
unresolved import function call" と表示された。

mt5 x64を使用しています。

以下は私のコードです。


#include <MQLMySQL.mqh>
//--- input parameters
string INI;
string Host, User, Password, Database, Socket; // database credentials
int Port, ClientFlag; intClientFlag;
int DB; // データベース識別子
//+------------------------------------------------------------------------+
//| エキスパート初期化関数 &nbsp; |
//+------------------------------------------------------------------+
int OnInit()
{
Print (MySqlVersion());
INI = TerminalInfoString(TERMINAL_PATH) + "\MyConnection.ini";
// INIファイルからデータベース資格情報を読み込む
Host = ReadIni(INI, "MYSQL", "Host");
User =ReadIni(INI, "MYSQL", "User");
Password = ReadIni(INI, "MYSQL", "Password");
Database = ReadIni(INI, "MYSQL", "Database");
Port = (int)StringToInteger(ReadIni(INI, "MYSQL", "Port"));
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;
}
//+---------------------------------------------------------------------+
//| Expert deinitialisation function &を呼び出します。; |
//+------------------------------------------------------------------------+
void OnDeinit(const int reason)
{

&nbsp; MySqlDisconnect(DB);


}
//+------------------------------------------------------------------+
//| エキスパートティック関数 &nbsp; &nbspnbsp; &nbsp; ||
//+-------------------------------------------------------------------------------+
void OnTick()
{
//---
&nbsp; } //+------------------------------------------------------------------------------- ---+ //|エキスパートティック関数 &nbsp; &nbspnbsp;
}
//+------------------------------------------------------------------+

X64 バージョンの dll ファイルをロードできません。

 
マルチ・インサート・クエリーを 使用していますが、うまくいきません。しかし、シングル・インサートを使用するとうまくいきます。

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


シングルインサートのみで動作します。

 
Eugeniy Lugovoy:

うーん...。僕の記憶が正しければ、それは古いライブラリのどこかにあって、最新のバージョン(ディスカッションに投稿されている)にはルールがあるんだけどね :)

OK。では、UTFの問題はまだ残っている。もし私が過労でなければ、週末まで今週中に解決しようと思う。

こんにちは、ユージーン。

このライブラリにはとても感謝しています。

UTFの問題は解決できたのでしょうか?また、現在のリリースをダウンロードする方法を教えてください。

MQL4 x32-x64ビルドが必要です。ありがとうございました。)

 
文字コードをUTF-8に変更する方法を教えてください。