- 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) - превышено максимально допустимое количество объектов Database;
- ERR_DATABASE_CONNECT (5123) - ошибка подключения к базе данных;
- ERR_DATABASE_MISUSE (5621) - неправильное использование библиотеки SQLite.
Примечание
Если в параметре filename указан NULL или пустая строка "", то на диске будет создан временный файл, который будет автоматически удален после закрытия соединения с базой данных.
Если в параметре filename указан ":memory:", то база данных будет создана в памяти, при этом база данных будет автоматически удалена после закрытия соединения с ней.
Если в параметре flags не указан ни один из флагов DATABASE_OPEN_READONLY или DATABASE_OPEN_READWRITE, то будет использован флаг DATABASE_OPEN_READWRITE.
Если для файла не задано расширение, то будет использовано расширение ".sqlite"
Идентификатор |
Описание |
---|---|
DATABASE_OPEN_READONLY |
Открыть только на чтение |
DATABASE_OPEN_READWRITE |
Открыть на чтение и запись |
DATABASE_OPEN_CREATE |
Создать файл на диске, если он не существует |
DATABASE_OPEN_MEMORY |
Создать базу данных в оперативной памяти |
DATABASE_OPEN_COMMON |
Файл находится в общей папке всех терминалов |
Смотри также