- DatabaseOpen
- DatabaseClose
- DatabaseImport
- DatabaseExport
- DatabasePrint
- DatabaseTableExists
- DatabaseExecute
- DatabasePrepare
- DatabaseReset
- DatabaseBind
- DatabaseBindArray
- DatabaseRead
- DatabaseReadBind
- DatabaseFinalize
- DatabaseTransactionBegin
- DatabaseTransactionCommit
- DatabaseTransactionRollback
- DatabaseColumnsCount
- DatabaseColumnName
- DatabaseColumnType
- DatabaseColumnSize
- DatabaseColumnText
- DatabaseColumnInteger
- DatabaseColumnLong
- DatabaseColumnDouble
- DatabaseColumnBlob
DatabaseOpen
指定したファイルでデータベースを開くか作成します。
int DatabaseOpen(
|
パラメータ
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」が使用されます。
ID |
説明 |
---|---|
DATABASE_OPEN_READONLY |
読み取り専用 |
DATABASE_OPEN_READWRITE |
読み取りおよび書き込み用に開きます |
DATABASE_OPEN_CREATE |
必要に応じてディスク上にファイルを作成します |
DATABASE_OPEN_MEMORY |
RAMにデータベースを作成します |
DATABASE_OPEN_COMMON |
ファイルはすべての端末の共通フォルダーにあります |
参照