- 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
Exportiert eine Tabelle oder das Ergebnis einer SQL-Anfrage in eine CSV-Datei. Die erstellte Datei ist in UTF-8 encodiert.
long DatabaseExport(
|
Parameter
database
[in] Handle der Datenbank, erhalten von DatabaseOpen().
table_or_sql
[in] Ein Name einer Tabelle oder ein Text einer SQL-Anfrage, deren Ergebnisse in eine bestimmte Datei exportiert werden sollen.
filename
[in] Ein Dateiname für den Datenexport. Der Pfad wird relativ zum Ordner MQL5\Files festgelegt.
flags
[in] Kombination von Flags aus der Enumeration ENUM_DATABASE_EXPORT_FLAGS.
separator
[in] Trennzeichen der Daten. Wenn NULL angegeben wurde, wird der Tabulator '\t' als Trennzeichen verwendet. Eine leere Zeichenkette "" wird als gültiges Trennzeichen betrachtet, aber die erhaltene CSV-Datei kann nicht als Tabelle gelesen werden - sie wird als eine Reihe von Zeichenfolgen betrachtet.
Rückgabewert
Anzahl der exportierten Einträge oder im Fehlerfall einen negativen Wert. Um den Fehlercode zu erhalten, verwenden Sie GetLastError(), die möglichen Antworten sind:
- ERR_INTERNAL_ERROR (4001) – kritischer Laufzeitfehler;
- ERR_INVALID_PARAMETER (4003) – Der Pfad zur Datenbankdatei ist leer oder es wurde eine inkompatible Kombination der Flags übergeben;
- ERR_NOT_ENOUGH_MEMORY (4004) - ungenügend Speicher;
- ERR_FUNCTION_NOT_ALLOWED(4014) – angegebene Pipe ist nicht erlaubt;
- ERR_PROGRAM_STOPPED(4022) – Operation abgebrochen (MQL-Programm gestoppt);
- ERR_WRONG_FILENAME (5002) - Ungültiger Dateiname;
- ERR_TOO_LONG_FILENAME (5003) - absoluter Pfad überschreitet die Maximallänge;
- ERR_CANNOT_OPEN_FILE(5004) – Datei konnte nicht zum Schreiben geöffnet werden;
- ERR_FILE_WRITEERROR(5026) – In die Datei konnte nicht geschrieben werden;
- ERR_DATABASE_INTERNAL (5120) – interner Datenbankfehler;
- ERR_DATABASE_INVALID_HANDLE (5121) - ungültiges Handle der Datenbank;
- ERR_DATABASE_QUERY_PREPARE(5125) – Fehler bei der Anfrageerstellung;
- ERR_DATABASE_QUERY_NOT_READONLY – es sind Nur-Lese-Anfragen erlaubt.
Hinweis
Wenn die Abfrageergebnisse exportiert werden, sollte die SQL-Abfrage mit "SELECT" oder "select" beginnen. Mit anderen Worten, die SQL-Anfrage kann den Datenbankstatus nicht ändern, andernfalls schlägt DatabaseExport() mit einer Fehlermeldung fehl.
Datenbank-String-Werte können das Konvertierungszeichen ('\r' oder '\r\n' ) sowie den Satz der Trennzeichen für die Werte im Parameter Trenner enthalten. Stellen Sie in diesem Fall sicher, dass Sie das Flag DATABASE_EXPORT_QUOTED_STRINGS im Parameter 'flags' verwenden. Wenn dieses Flag vorhanden ist, werden alle angezeigten Zeichenfolgen in doppelte Anführungszeichen gesetzt. Wenn eine Zeichenkette ein doppeltes Anführungszeichen enthält, wird es durch zwei doppelte Anführungszeichen ersetzt.
ID |
Beschreibung |
---|---|
DATABASE_EXPORT_HEADER |
Feldnamen in der ersten Zeil anzeigen |
DATABASE_EXPORT_INDEX |
Anzeige des Zeilenindex |
DATABASE_EXPORT_NO_BOM |
Keine "BOM"-Markierung am Anfang der Datei einfügen (BOM wird standardmäßig eingefügt) |
DATABASE_EXPORT_CRLF |
CRLF für den Zeilenumbruch verwenden (die Voreinstellung ist LF) |
DATABASE_EXPORT_APPEND |
Hinzufügen von Daten an das Ende einer bestehenden Datei (standardmäßig wird die Datei überschrieben). Wenn die Datei nicht existiert wird sie erstellt. |
DATABASE_EXPORT_QUOTED_STRINGS |
Zeichenketten in Anführungszeichen anzeigen. |
DATABASE_EXPORT_COMMON_FOLDER |
Eine CSV-Datei wird im gemeinsamen Ordner "Common" aller Client-Terminals \Terminal\Common\File erstellt. |
Beispiel:
input int InpRates=100;
|
Siehe auch