1.SELECT id FROM table" の問い合わせに対して、fetch_row 関数は (address)(address)1 (address)(address) 2 を返します。 2.SELECT user FROM table" をリクエストすると fetch_row が (address)aaa (address) bbb
通常は処理できるが、戻り値が文字列になってしまう。
3. 関数が2つのフィールドを要求する場合 "SELECT id, user FROM table" は、 (address)(address)1(address)(address)2 4.SELECT user, id FROM table」のフィールドを入れ替えると、(アドレス)aaa(アドレス)bbb が返されます。 は、文字列から最初のフィールドだけを明示的に見て、別の4バイトのアドレスを追加していることが判明しました。
MQL4でmysql_fetch_row 関数の結果を読み取る方法?
現在、MySQLデータベースと連動して、読み込み、挿入、削除、変更を行うスクリプトを開発しています。
スクリプトは大きなものですが、データベースとの連携の エッセンスは、1つの関数から理解できると思います。
しかし、この例では、テーブルからレコードのIDが返されますが、それはリメイクに問題はないでしょう、私は覚えていると、データベースから返されたテキストと数字は、すべてが動作しました。
じっけんだい
INT id; TEXT user
の2つのフィールドを持つテーブルを作成 しました。テーブルには、
id user
1 aaa
2 bbb の2行があります。
1.SELECT id FROM table "の問い合わせに対して、fetch_row関数は、(アドレス)(アドレス)1 (アドレス)(アドレス) 2
2.SELECT user FROM table" クエリの fetch_row 関数は、(アドレス)aaa (アドレス) bbb
一般に、これは処理可能ですが、唯一残念なのは、文字列で返されることです。
SELECT id, user FROM table」という2つのフィールドを問い合わせると、(アドレス)1(アドレス)(アドレス)2
4が返されます。SELECT user, id FROM table」のフィールドを入れ替えると、関数は(アドレス)aaa(アドレス)bbb
、文字列から最初のフィールドだけがはっきりと見え、もう4バイトのアドレスが追加されていることがわかります。
じっけんだい
2つのフィールドを持つテーブルを作成しました。
INT id; TEXT user
テーブルが2行になる
イドユーザー
1 aaa
2 bbb
1.SELECT id FROM table" の問い合わせに対して、fetch_row 関数は (address)(address)1 (address)(address) 2 を返します。
2.SELECT user FROM table" をリクエストすると fetch_row が (address)aaa (address) bbb
通常は処理できるが、戻り値が文字列になってしまう。
3. 関数が2つのフィールドを要求する場合 "SELECT id, user FROM table" は、 (address)(address)1(address)(address)2
4.SELECT user, id FROM table」のフィールドを入れ替えると、(アドレス)aaa(アドレス)bbb
が返されます。
は、文字列から最初のフィールドだけを明示的に見て、別の4バイトのアドレスを追加していることが判明しました。
この後、どのようにプログラムに反映させるのですか?
基本的には浮動小数点数を書いて、それを読み取るということをやっています。
現在、MySQLデータベースと連動して、読み込み、挿入、削除、変更を行うスクリプトを開発しています。
スクリプトは大きなものですが、データベースとの連携のエッセンスは、1つの関数から理解できると思います。
Trueは、この例では、テーブルからレコードIDを返しますが、何の問題もリメイクするために、私は覚えていて、テキストと数字は、データベースから返され、すべてが働いた。
これは面白い例ですが、数値データの読み方を示しているわけではありません。
基本的には、2つのアクションだけのために3列のテーブルを持つベースを使いたいのです。
1) 最初の2列(インデックスと最初の数値列)を読み取る。
次に、MQ4プログラム内の数値欄から最も適切な数値を選択します。
2) 2番目の列からその番号のインデックスを使って番号を読み取る。
この場合、どの関数を使用すればよいのでしょうか?また、指定されたDLLでは正常に動作するのでしょうか?
これは面白い例ですが、数値データの読み方を示しているわけではありません。
何がどのように返されるかを確認するために、1行でもコードを書いたことがありますか?
HIDDENは、データベースから1つのフィールドを読み取るための完全な解決策をすでに提供していますが、それを実行しましたか?
もしあなたがMKL5用のansi-unicodeコンバータを書くのを手伝うことができるなら、そのコードは前の投稿に示されています。MKL4の動作コードをお送りしますので、MKL5のクラスを作成する際にもお役立てください。
MQL5にはユニコードを変換する関数があります。en/docs/convert/chararraytostring および/en/docs/convert/stringtochararray を参照してください。
関数のインポートで、文字列の代わりにuchar配列を宣言する。
インポート関数では、文字列を宣言せず、uchar 型の配列を宣言してください。
問題は、残念ながら、これらの文字列は関数の結果として 返されるのであって、関数の&パラメータの1つとして返されるのではないことです。
mysql_fetch_row は文字列の配列へのポインタを 返します。
--------
は、char 配列からchar ** 文字列を返す低レベルのカーネル関数があるかどうか、誰か知っていますか?
(strcpy、strcat...など)
同様に、 int* 配列から、その特定の要素を取得するためのいくつかの lib 関数?
その関数自体がこの操作のために直接設計されていないとしても :)
フルコードの実装....
データベースのSQLダンプ
動作結果