記事"SQL と MQL5:SQLite データベースとの連携"についてのディスカッション - ページ 4 12345 新しいコメント --- 2017.11.20 09:49 #31 Serhii Shevchuk:あなたは助けを求めるのが難しい人だと思う。 もし、あなたがどのようにしてこの問題にたどり着いたのかを教えてくれなければ、どうすればいいのでしょう。 多分、あなたはマックで実行されているか、読み取り専用パーミッションのフォルダを持っています。 あなたのファイルシステムがどうなっているのかは知らない。車のフォーラムからxxx:オイルキャップを交換した後、エンジンがパチパチする。原因とその結果について教えてください。uuu:原因はたくさんありますが、結果はさまざまです。xxx:ありがとう。原因はまだわかりません。わかったら教えてください。 Viktar Dzemikhau 2018.07.02 12:31 #32 この手の図書館はゴチャゴチャしているので、記事を全部読んだわけではない。とはいえ、このテーマで最初に目にしたものだったので、いくつか自分のために読んでみた。そして、このような記事からは何も学べないので、公式ドキュメントを読む必要があることに気づいた。実際、sqlite3_bind_xxx 関数に関する情報は正しくない。この記事の著者は誤解を招いています。これらの関数の目的はまったく異なります。記事の著者がこのトピックについて自分で勉強していないのなら、あるいはただ書きたくないのなら、書かない方がよいでしょう。この機能についてのくだらない記事を読んだ後、私は1時間以上考え込んでしまった。その通りだ。週間前にDBMSを使い始めたばかりだ。コツをつかみつつある。だからなかなか理解できなかった。そして、sqlite3_bind_xxx 関数が何のためにあるのかを理解したとき、私は驚いた。 この記事の著者がそんなことをするとは思わなかった。彼はプロだと思っていたのに。 Andrey Azatskiy 2018.08.09 19:22 #33 記事に添付されている資料をテストしたわけではありませんが、プラスで同じようなエラーがあります。渡されたパスでベースを開く/作成することができません。常にプロジェクトディレクトリか、プロジェクトディレクトリから指定されたパス(/new folder/myDB.db)に作成されます... ベースの作成とクローズの関数をインポート し、作成を試みました。その結果、loadsにデータベースが作成されました。 Serhii Shevchuk 2018.08.10 10:56 #34 ---:多くの原因があり、多くの結果があり得る。ありがとう。問題は解決した。 Andrey Azatskiy 2018.08.10 20:08 #35 私は非常に興味深い状況を持っている)ちょうど昨日、すべてが作成され、働いていた(しかし、 "ダウンロード "フォルダ内の何かから)しかし、一晩ベースファイルが作成されなくなったが、ベース自体は、テストのためにそれがメモリ上に配置されたベースを作成しようとしたように動作しますsqlite3_open(":memory:"") - ベースは作成され、データがロードされ/読み込まれます。 おそらくアクセス権の問題、あなたはどう思いますか? Windowsでこれをチェックする方法は、誰を知っていますか? Viktar Dzemikhau 2018.08.11 01:25 #36 Andrey Azatskiy: 私は非常に興味深い状況を持っている)ちょうど昨日、すべてが作成され、働いていた(しかし、 "ダウンロード "フォルダ内の何かから)しかし、一晩ベースファイルが作成されなくなったが、ベース自体は、テストのためにそれがメモリ上に配置されたベースを作成しようとしたように動作します sqlite3_open(":memory:"") - ベースが作成され、データがロードされ/読み込まれます。 おそらくアクセス権の問題、あなたはどう思いますか? Windowsでこれをチェックする方法は、誰を知っていますか?確認するのは簡単です。手始めにデータベースを「マイドキュメント」に入れてみてください。それで問題なければ、アクセス権の問題ではありません。しかし、一般的には、あなたがどうやったかによります。私自身は、SQLite3で作業する のに必要なものをすべて作るまで2週間かかりました。ロシア語にはこのテーマに関する適切な情報がないので、ドキュメントを翻訳しなければなりませんでした。この記事のように、多くのゴミやレバクがあります。上記のように、私はそのうちのひとつに惹かれた。それから私は立ち止まり、自分自身でこの問題を研究した。 私はそのようなラッパーを持って いる: //================================================================================================================================================================================== // sqlite3_open_v2 の基本ラッパーです。============================================================================================================================================== int SQLite3 :: sqlite3_open(const string& filename, intptr_t& dbHandle, int flags) { uchar utf8_filename[]; stringToUtf8(filename, utf8_filename); return sqlite3_open_v2(utf8_filename, dbHandle, flags, 0); } これがstringToUtf8 関数だ: //================================================================================================================================================================================== // 文字列を utf-8 バイト配列に変換します。========================================================================================================================================= void stringToUtf8(const string strToConvert, // utf-8エンコーディングで配列に変換される文字列 uchar& utf8[], // 変換後の文字列 strToConvert が格納される utf-8 エンコーディングの配列。 const bool untilTerminator = true) export { // utf8配列にコピーされ、utf-8エンコーディングに変換される文字数。 //--- int count = untilTerminator ? -1 : StringLen(strToConvert); StringToCharArray(strToConvert, utf8, 0, count, CP_UTF8); } 私はそれを別のライブラリに持っている。 Andrey Azatskiy 2018.08.12 18:51 #37 Viktar Dzemikhau:実際、確認するのは簡単だ。手始めにデータベースを「マイドキュメント」に入れてみてください。それがうまくいくなら、権利の問題ではない。しかし、一般的には、あなたがどうやったかによります。私自身は、SQLite3で作業するために必要なものをすべて作るまで2週間かかりました。ロシア語にはこのテーマに関する適切な情報がないので、ドキュメントを翻訳しなければなりませんでした。この記事のように、ゴミやレバクがたくさんある。上記のように、私はそのうちのひとつに惹かれた。その後、私はあきらめて自分でこの問題を勉強しました。私はこのためのラッパーを持って いる:そしてこれがstringToUtf8 関数だ:別のライブラリにあります。 1 - エンコーディング (関数をどうもありがとう。普通にUTF -8に変換する方法を知らなかったので) 2 - パーミッション。 Viktar Dzemikhau 2018.08.13 23:43 #38 Andrey Azatskiy: 1 - エンコーディング (関数をどうもありがとう。UTF -8 に普通に変換する方法を知らなかったので) 2 - パーミッション。はい、どういたしまして。自分もこれでどれだけ苦労したことか。このような悲惨な記事で。選択肢はひとつ。公式ドキュメントを読むか、尋ねるかだ。聞ける人がいなかった。自分で勉強するしかなかった。要は、C++で書けば聞く人がいるということだ。しかし、ガスケットを通して書き、それをμlに転送するとなると、助けてくれる人はほとんどいない。プラスユーザーには敷居が高すぎる))) Quintos 2018.10.18 12:06 #39 メモリリークを見つけたようです: SQLite3Base.mqhの250行目 ::sqlite3_finalize(stmt); // クリーン であるべきです: ::sqlite3_finalize(pstmt); // クリーン Artiom Morochin 2018.11.14 21:35 #40 Viktar Dzemikhau:実際、確認するのは簡単だ。手始めにデータベースを「マイドキュメント」に入れてみてください。それがうまくいくなら、権利の問題ではない。しかし、一般的には、あなたがどうやったかによります。私自身は、SQLite3で作業するために必要なものをすべて作るまで2週間かかりました。ロシア語にはこのテーマに関する適切な情報がないので、ドキュメントを翻訳しなければなりませんでした。この記事のように、ゴミやレバクがたくさんある。上記のように、私はそのうちのひとつに惹かれた。その後、私はあきらめて自分でこの問題を勉強しました。私はこのためのラッパーを持って いる:そしてこれがstringToUtf8 関数だ:別のライブラリにあります。utfへの変換に使っています。 int u2a(string txt,uchar &out[]){ return(StringToCharArray(txt,out))}; 12345 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
Serhii Shevchuk:
あなたは助けを求めるのが難しい人だと思う。
もし、あなたがどのようにしてこの問題にたどり着いたのかを教えてくれなければ、どうすればいいのでしょう。
多分、あなたはマックで実行されているか、読み取り専用パーミッションのフォルダを持っています。
あなたのファイルシステムがどうなっているのかは知らない。
車のフォーラムから
xxx:オイルキャップを交換した後、エンジンがパチパチする。原因とその結果について教えてください。
uuu:原因はたくさんありますが、結果はさまざまです。
xxx:ありがとう。
原因はまだわかりません。
わかったら教えてください。
ベースの作成とクローズの関数をインポート し、作成を試みました。その結果、loadsにデータベースが作成されました。
多くの原因があり、多くの結果があり得る。
ありがとう。問題は解決した。
おそらくアクセス権の問題、あなたはどう思いますか? Windowsでこれをチェックする方法は、誰を知っていますか?
私は非常に興味深い状況を持っている)ちょうど昨日、すべてが作成され、働いていた(しかし、 "ダウンロード "フォルダ内の何かから)しかし、一晩ベースファイルが作成されなくなったが、ベース自体は、テストのためにそれがメモリ上に配置されたベースを作成しようとしたように動作します sqlite3_open(":memory:"") - ベースが作成され、データがロードされ/読み込まれます。 おそらくアクセス権の問題、あなたはどう思いますか? Windowsでこれをチェックする方法は、誰を知っていますか?
確認するのは簡単です。手始めにデータベースを「マイドキュメント」に入れてみてください。それで問題なければ、アクセス権の問題ではありません。しかし、一般的には、あなたがどうやったかによります。私自身は、SQLite3で作業する のに必要なものをすべて作るまで2週間かかりました。ロシア語にはこのテーマに関する適切な情報がないので、ドキュメントを翻訳しなければなりませんでした。この記事のように、多くのゴミやレバクがあります。上記のように、私はそのうちのひとつに惹かれた。それから私は立ち止まり、自分自身でこの問題を研究した。
私はそのようなラッパーを持って いる:
これがstringToUtf8 関数だ:
私はそれを別のライブラリに持っている。
実際、確認するのは簡単だ。手始めにデータベースを「マイドキュメント」に入れてみてください。それがうまくいくなら、権利の問題ではない。しかし、一般的には、あなたがどうやったかによります。私自身は、SQLite3で作業するために必要なものをすべて作るまで2週間かかりました。ロシア語にはこのテーマに関する適切な情報がないので、ドキュメントを翻訳しなければなりませんでした。この記事のように、ゴミやレバクがたくさんある。上記のように、私はそのうちのひとつに惹かれた。その後、私はあきらめて自分でこの問題を勉強しました。
私はこのためのラッパーを持って いる:
そしてこれがstringToUtf8 関数だ:
別のライブラリにあります。
1 - エンコーディング (関数をどうもありがとう。普通にUTF -8に変換する方法を知らなかったので)
2 - パーミッション。
1 - エンコーディング (関数をどうもありがとう。UTF -8 に普通に変換する方法を知らなかったので)
2 - パーミッション。
はい、どういたしまして。自分もこれでどれだけ苦労したことか。このような悲惨な記事で。選択肢はひとつ。公式ドキュメントを読むか、尋ねるかだ。聞ける人がいなかった。自分で勉強するしかなかった。要は、C++で書けば聞く人がいるということだ。しかし、ガスケットを通して書き、それをμlに転送するとなると、助けてくれる人はほとんどいない。プラスユーザーには敷居が高すぎる)))
メモリリークを見つけたようです:
SQLite3Base.mqhの250行目
::sqlite3_finalize(stmt); // クリーンであるべきです:
::sqlite3_finalize(pstmt); // クリーン実際、確認するのは簡単だ。手始めにデータベースを「マイドキュメント」に入れてみてください。それがうまくいくなら、権利の問題ではない。しかし、一般的には、あなたがどうやったかによります。私自身は、SQLite3で作業するために必要なものをすべて作るまで2週間かかりました。ロシア語にはこのテーマに関する適切な情報がないので、ドキュメントを翻訳しなければなりませんでした。この記事のように、ゴミやレバクがたくさんある。上記のように、私はそのうちのひとつに惹かれた。その後、私はあきらめて自分でこの問題を勉強しました。
私はこのためのラッパーを持って いる:
そしてこれがstringToUtf8 関数だ:
別のライブラリにあります。
utfへの変換に使っています。