- 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 |
该文件位于所有程序端的通用文件夹 |
另见