- 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示例中的代码创建的文件中读取表格的示例:
//+------------------------------------------------------------------+
|
另见