- 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
DatabaseExport
Esporta una tabella o un risultato di esecuzione di una richiesta SQL in un file CSV. Il file viene creato in codifica UTF-8.
long DatabaseExport(
|
Parametri
database
[in] Handle database ricevuto in DatabaseOpen().
table_or_sql
[in] Il nome di una tabella o un testo di una richiesta SQL i cui risultati devono essere esportati in un file specificato.
filename
[in] Il nome file per l'esportazione dei dati. Il percorso è impostato rispetto alla cartella MQL5\Files.
flags
[in] Combinazione di flag dall'enumerazione ENUM_DATABASE_EXPORT_FLAGS.
separator
[in] Separatore di dati. Se si specifica NULL, viene utilizzato come separatore il carattere di tabulazione '\t'. Una stringa vuota "" è considerata un separatore valido ma il file CSV ottenuto non può essere letto come una tabella - è considerato come un insieme di stringhe.
Valore di Ritorno
Restituisce il numero di voci esportate o un valore negativo in caso di errore. Per ottenere il codice di errore, utilizzare GetLastError(), le possibili risposte sono:
- ERR_INTERNAL_ERROR (4001) – errore critico di runtime;
- ERR_INVALID_PARAMETER (4003) – il percorso del file di database contiene una stringa vuota o viene impostata una combinazione incompatibile di flag;
- ERR_NOT_ENOUGH_MEMORY (4004) - memoria insufficiente;
- ERR_FUNCTION_NOT_ALLOWED(4014) – la pipe specificata non è consentita;
- ERR_PROGRAM_STOPPED(4022) – operazione annullata (programma MQL interrotto);
- ERR_WRONG_FILENAME (5002) - nome file non valido;
- ERR_TOO_LONG_FILENAME (5003) - il percorso assoluto del file supera la lunghezza massima;
- ERR_CANNOT_OPEN_FILE(5004) – impossibile aprire il file per la scrittura;
- ERR_FILE_WRITEERROR(5026) – impossibile scrivere nel file;
- ERR_DATABASE_INTERNAL (5120) – errore interno al database;
- ERR_DATABASE_INVALID_HANDLE (5121) - handle di database non valido;
- ERR_DATABASE_QUERY_PREPARE(5125) – errore di generazione richiesta;
- ERR_DATABASE_QUERY_NOT_READONLY – la richiesta di sola lettura è consentita.
Nota
Se i risultati della richiesta vengono esportati, la richiesta SQL dovrebbe iniziare con "SELECT" o "select". In altre parole, la richiesta SQL non può modificare lo stato del database, altrimenti DatabaseExport() fallisce con un errore.
I valori delle stringhe del database possono contenere il carattere di conversione ('\r' o '\r \n'), nonché il set di caratteri del separatore di valori nel parametro separator. In questo caso, assicurarsi di utilizzare il flag DATABASE_EXPORT_QUOTED_STRINGS nel parametro 'flags'. Se questo flag è presente, tutte le stringhe visualizzate sono racchiuse tra virgolette doppie. Se una stringa contiene una virgoletta doppia, viene sostituita da due virgolette doppie.
ID |
Descrizione |
---|---|
DATABASE_EXPORT_HEADER |
Visualizza i nomi dei campi nella prima stringa |
DATABASE_EXPORT_INDEX |
Visualizza gli indici delle stringhe |
DATABASE_EXPORT_NO_BOM |
Non inserire il contrassegno BOM all'inizio del file (di default BOM è inserito) |
DATABASE_EXPORT_CRLF |
Usa CRLF per l'interruzione di stringa (l'impostazione predefinita è LF) |
DATABASE_EXPORT_APPEND |
Aggiunge dati alla fine di un file esistente (per impostazione predefinita, il file viene sovrascritto). Se il file non esiste, verrà creato. |
DATABASE_EXPORT_QUOTED_STRINGS |
Visualizza i valori delle stringhe tra doppie virgolette. |
DATABASE_EXPORT_COMMON_FOLDER |
Un file CSV viene creato nella cartella common di tutti i terminali client \Terminal\Common\File. |
Esempio:
input int InpRates=100;
|
Guarda anche