- 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
DatabaseImport
ファイルからテーブルにデータをインポートします。
long DatabaseImport(
|
パラメータ
database
[in] DatabaseOpen()で受信したデータベースハンドル。
table
[in] ファイルのデータを追加するテーブルの名前。
filename
[in] データを読み取るためのCSVファイルまたはZIPアーカイブ。名前にはサブディレクトリを含めることができ、MQL5\Filesフォルダーに相対して設定されます。
flags
[in] ENUM_DATABASE_IMPORT_FLAGS列挙体からのフラグの組み合わせ。
separator
[in] CSVファイルでのデータの区切り文字
skip_rows
[in] ファイルからデータを読み取るときにスキップされる初期文字列の数。
skip_comments
[in] 文字列をコメントとして指定するための文字列。skip_comments文字が文字列の先頭で検出された場合、そのような文字列はコメントと見なされ、インポートされません。
戻り値
インポートされた文字列の数を返すか、エラーの場合は-1を返します。エラーコードを受け取るにはGetLastError()を使用します。以下の応答が可能です。
- ERR_INVALID_PARAMETER (4003) – テーブル名が指定されていない(空の文字列またはNULL)
- ERR_DATABASE_INTERNAL (5120) – 内部データベースエラー
- ERR_DATABASE_INVALID_HANDLE (5121) - 無効なデータベースハンドル
注意事項
tableという名前のテーブルは存在しません。自動的に生成されます。作成されたテーブルの名前とフィールドタイプは、ファイルデータに基づいて自動的に定義されます。
ID |
説明 |
---|---|
DATABASE_IMPORT_HEADER |
最初の行にはテーブルフィールドの名前が含まれます。 |
DATABASE_IMPORT_CRLF |
CRLF(デフォルトは LF)は文字列の区切りと見なされます。 |
DATABASE_IMPORT_APPEND |
既存のテーブルの末尾にデータを追加します。 |
DATABASE_IMPORT_QUOTED_STRINGS |
二重引用符で囲まれた文字列値。 |
DATABASE_IMPORT_COMMON_FOLDER |
ファイルは全クライアント端末の共通フォルダ\Terminal\Common\Fileに保存されます。 |
DatabaseExportの例のコードで作成された、ファイルからテーブルを読み取る例:
//+------------------------------------------------------------------+
|
参照