- 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
Abre o crea una base de datos en el archivo indicado.
int DatabaseOpen(
|
Parámetros
filename
[in] Nombre del archivo respecto a la carpeta "MQL5\Files".
flags
[in] Combinación de banderas de la enumeración ENUM_DATABASE_OPEN_FLAGS.
Valor retornado
Si la ejecución tiene éxito, la función retorna el manejador de la base de datos, que después se usará para acceder a los datos de la base; en el caso contrario, retorna INVALID_HANDLE. Para obtener el código del error, use GetLastError(), posibles respuestas:
- ERR_INTERNAL_ERROR (4001) error crítico del sistema de ejecución;
- ERR_WRONG_INTERNAL_PARAMETER (4002) - error interno de acceso a la carpeta "MQL5\Files";
- ERR_INVALID_PARAMETER (4003) la ruta al archivo de la base de datos contiene una línea vacía o se ha establecido una combinación de banderas incompatible;
- ERR_NOT_ENOUGH_MEMORY (4004) - memoria insuficiente;
- ERR_WRONG_FILENAME (5002) - el nombre del archivo de la base de datos es incorrecto;
- ERR_TOO_LONG_FILENAME (5003) - la ruta absoluta al archivo de la base de datos ha superado la longitud máxima;
- ERR_DATABASE_TOO_MANY_OBJECTS (5122) - se ha superado el número máximo permitido de objetos Database;
- ERR_DATABASE_CONNECT (5123) - error al conectarse a la base de datos;
- ERR_DATABASE_MISUSE (5621) - uso incorrecto de la biblioteca SQLite.
Observación
Si en el parámetro filename se indica NULL o una línea vacía "", en el disco se creará un archivo temporal que será automáticamente eliminado tras cerrar la conexión con la base de datos.
Si en el parámetro filename se indica ":memory:", la base de datos se creará en la memoria; en este caso, además, la base de datos será automáticamente eliminada tras cerrar la conexión con ella.
Si en el parámetro flags no se indica ninguna de las banderas DATABASE_OPEN_READONLY o DATABASE_OPEN_READWRITE, se usará la bandera DATABASE_OPEN_READWRITE.
Si no se ha establecido una extensión para el archivo, se usará la extensión ".sqlite"
Identificador |
Descripción |
---|---|
DATABASE_OPEN_READONLY |
Abrir solo para lectura |
DATABASE_OPEN_READWRITE |
Abrir solo para lectura y grabación |
DATABASE_OPEN_CREATE |
Crear un archivo en el disco, si aún no existe |
DATABASE_OPEN_MEMORY |
Crear una base de datos en la memoria operativa |
DATABASE_OPEN_COMMON |
El archivo se encuentra en la carpeta general de todos los terminales |
Ver también