- 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
DatabaseImport
Importieren von Daten aus einer Datei in eine Tabelle.
long DatabaseImport(
|
Parameter
database
[in] Handle der Datenbank, erhalten von DatabaseOpen().
table
[in] Name der Tabelle, der die Daten aus einer Datei hinzugefügt werden sollen.
filename
[in] CSV-Datei oder ZIP-Archive mit den zu lesenden Daten. Der Name darf Unterverzeichnisse enthalten und ist relativ zu dem Verzeichnis MQL5\Files.
flags
[in] Kombination der Flags aus der Enumeration ENUM_DATABASE_IMPORT_FLAGS.
separator
[in] Trennzeichen der Daten in der CSV-Datei.
skip_rows
[in] Anzahl der anfangs zu überspringenden Zeilen, wenn Daten aus einer Datei gelesen werden sollen.
skip_comments
[in] Satz von Zeichen, die eine Zeichenkette als Kommentar kennzeichnen. Wenn ein Zeichen aus skip_comments am Anfang einer Zeichenkette erkannt wird, wird eine solche Zeichenkette als Kommentar betrachtet und nicht importiert.
Rückgabewert
Anzahl der importierten Einträge oder -1 im Fehlerfall. Um den Fehlercode zu erhalten, verwenden Sie GetLastError(), die möglichen Antworten sind:
- ERR_INVALID_PARAMETER (4003) – kein Tabellenname angegeben (leere Zeichenkette oder NULL);
- ERR_DATABASE_INTERNAL (5120) – interner Datenbankfehler;
- ERR_DATABASE_INVALID_HANDLE (5121) - ungültiges Handle der Datenbank.
Hinweis
Wenn es keine Tabelle mit dem Namen table gibt, wird sie automatisch generiert. Namen und Feldtypen in der erzeugten Tabelle werden automatisch auf der Grundlage der Dateidaten definiert.
ID |
Beschreibung |
---|---|
DATABASE_IMPORT_HEADER |
Die erste Zeile enthält die Namen der Tabellenfelder |
DATABASE_IMPORT_CRLF |
CRLF (Standard ist LF) wird als Zeilenumbruch betrachtet |
DATABASE_IMPORT_APPEND |
Hinzufügen von Daten an das Ende einer bestehenden Tabelle |
DATABASE_IMPORT_QUOTED_STRINGS |
Zeichenkettenwerte werden in Anführungszeichen eingeschlossen. |
DATABASE_IMPORT_COMMON_FOLDER |
Die Datei wird im gemeinsamen Ordner aller Client-Terminals \Terminal\Common\File gespeichert. |
Beispiel für das Lesen der Tabelle aus der Datei, die mit dem Code aus dem Beispiel DatabaseExport erstellt wurde:
//+------------------------------------------------------------------+
|
Siehe auch