DatabaseOpen

指定したファイルでデータベースを開くか作成します。

int  DatabaseOpen(
  string filename,     // ファイル名
  uint   flags         // フラグの組み合わせ
  );

パラメータ

filename

[in]「MQL5\ Files」フォルダに相対するファイル名

flags

[in] ENUM_DATABASE_OPEN_FLAGS列挙体からのフラグの組み合わせ

戻り値

正常に実行されると、関数はデータベースハンドルを返します。データベースハンドルは、データベースへのアクセスに使用されます。その他の場合はINVALID_HANDLEを返します。エラーコードを受け取るには GetLastError() 関数を使用します。以下の応答が可能です。

  • ERR_INTERNAL_ERROR (4001)                       – 重大なランタイムエラー
  • ERR_WRONG_INTERNAL_PARAMETER (4002)  -「MQL5\Files」フォルダへのアクセス中の内部エラー
  • ERR_INVALID_PARAMETER (4003)                  – データベースファイルへのパスに空の文字列が含まれているか、フラグの互換性のない組み合わせが設定されています
  • ERR_NOT_ENOUGH_MEMORY (4004)              - 不充分なメモリ
  • ERR_WRONG_FILENAME (5002)                     - 不正なデータベースファイル名
  • ERR_TOO_LONG_FILENAME (5003)                 - データベースファイルへの絶対パスが最大長を超えています
  • ERR_DATABASE_TOO_MANY_OBJECTS (5122) - データベースオブジェクトの最大許容数を超えています
  • ERR_DATABASE_CONNECT (5123)                  - データベース接続エラー
  • ERR_DATABASE_MISUSE (5621)                      - SQLiteライブラリの誤使用

注意事項

filenameパラメータがNULLまたは空の文字列""の場合、一時ファイルがディスク上に作成されて、データベース接続を閉じた後、自動的に削除されます。

filenameパラメータが「:memory:」の場合、データベースがメモリ内に作成され、接続が閉じられた後に自動的に削除されます。

flagsパラメータにDATABASE_OPEN_READONLYもDATABASE_OPEN_READWRITEフラグもない場合、DATABASE_OPEN_READWRITEフラグが使用されます。

ファイル拡張子が指定されていない場合は「.sqlite」が使用されます。

ENUM_DATABASE_OPEN_FLAGS

ID

説明

DATABASE_OPEN_READONLY

読み取り専用

DATABASE_OPEN_READWRITE

読み取りおよび書き込み用に開きます

DATABASE_OPEN_CREATE

必要に応じてディスク上にファイルを作成します

DATABASE_OPEN_MEMORY

RAMにデータベースを作成します

DATABASE_OPEN_COMMON

ファイルはすべての端末の共通フォルダーにあります

参照

DatabaseClose