DatabaseOpen

Apre o crea un database in un file specificato.

int  DatabaseOpen(
   string  filename,      // nome del file
   uint    flags          // combinazione di flags
   );

Parametri

filename

[in] Nome file relativo alla cartella "MQL5\Files".

flags

[In] Combinazione di flags dall'enumerazione ENUM_DATABASE_OPEN_FLAGS.

Valore di ritorno

Se eseguita correttamente, la funzione restituisce l'handle del database, che viene quindi utilizzato per accedere al database. Altrimenti, restituisce INVALID_HANDLE. Per ottenere il codice di errore, utilizzare GetLastError(), le possibili risposte sono:

  • ERR_INTERNAL_ERROR (4001)                       – critical runtime error;
  • ERR_WRONG_INTERNAL_PARAMETER (4002)  - internal error, while accessing the "MQL5\Files" folder;
  • ERR_INVALID_PARAMETER (4003)                  – path to the database file contains an empty string, or an incompatible combination of flags is set;
  • ERR_NOT_ENOUGH_MEMORY (4004)              - insufficient memory;
  • ERR_WRONG_FILENAME (5002)                     - wrong database file name;
  • ERR_TOO_LONG_FILENAME (5003)                 - absolute path to the database file exceeds the maximum length;
  • ERR_DATABASE_TOO_MANY_OBJECTS (5122) - exceeded the maximum acceptable number of Database objects;
  • ERR_DATABASE_CONNECT (5123)                  - database connection error;
  • ERR_DATABASE_MISUSE (5621)                      - uso non corretto della libreria SQLite.

Nota

Se il parametro filename presenta NULL o la stringa vuota "", viene creato un file temporaneo sul disco. Viene automaticamente eliminato dopo aver chiuso la connessione al database.

Se il parametro filename presenta ":memory:", il database viene creato nella memoria e viene automaticamente eliminato dopo la chiusura della connessione.

Se il parametro flags non presenta nessuno dei flag DATABASE_OPEN_READONLY o DATABASE_OPEN_READWRITE, viene utilizzato il flag DATABASE_OPEN_READWRITE.

Se l'estensione del file non è specificata, viene utilizzata ".sqlite" .

ENUM_DATABASE_OPEN_FLAGS

ID

Descrizione

DATABASE_OPEN_READONLY

Sola lettura

DATABASE_OPEN_READWRITE

Apre per leggere e scrivere

DATABASE_OPEN_CREATE

Crea il file su un disco, se necessario

DATABASE_OPEN_MEMORY

Crea un database nella RAM

DATABASE_OPEN_COMMON

Il file si trova nella cartella comune a tutti i terminali

Guarda anche

DatabaseClose