- 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
Apre o crea un database in un file specificato.
int DatabaseOpen(
|
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" .
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