Nachschlagewerk MQL5Arbeiten mit der Datenbank 

Arbeiten mit der Datenbank

Arbeiten mit der Datenbank

Die Funktionen für die Arbeit mit Datenbanken basieren auf der beliebten und einfach zu bedienende SQLite Engine. Die bequeme Eigenschaft dieser Engine besteht darin, dass sich die gesamte Datenbank in einer einzigen Datei auf der Festplatte des Nutzer-PCs befindet.

Die Funktionen ermöglichen das bequeme Erstellen von Tabellen, das Hinzufügen von Daten, die Durchführung von Änderungen und die Arbeit mit Stichproben über den einfachen SQL-Anfragen:

  • die Abfrage von Handelshistorie und Kursdaten aus beliebigen Formaten,
  • das Speichern von Optimierungs- und Testergebnissen,
  • Vorbereitung und Austausch von Daten mit anderen Analysepaketen,
  • Speicherung von MQL5-Anwendungseinstellungen und -Status.

Die Funktionen für die Arbeit mit Datenbanken ermöglichen es, die sich am häufigsten wiederholenden Operationen zur Behandlung großer Datenfelder durch SQL-Anfragen zu ersetzen, so dass es oft möglich ist, die Aufrufe DatenbankAusführen/DatenbankVorbereiten zu verwenden, anstatt komplexe Schleifen und Vergleiche zu programmieren. Verwenden Sie die Funktion DatabaseReadBind, um ganz einfach die Abfrageergebnisse in einer vorgefertigten Struktur zu erhalten. Die Funktion ermöglicht das Lesen aller Datensatzfelder auf einmal innerhalb eines einzigen Aufrufs.

Um das Lesen, Schreiben und Modifizieren zu beschleunigen, kann eine Datenbank mit dem Flag DATABASE_OPEN_MEMORY im RAM geöffnet/angelegt werden, obwohl eine solche Datenbank nur für eine bestimmte Anwendung verfügbar ist und nicht gemeinsam genutzt wird. Bei der Arbeit mit Datenbanken, die sich auf der Festplatte befinden, sollten Einfügungen/Änderungen von Massendaten in Transaktionen mit DatabaseTransactionBegin/DatabaseTransactionCommit/DatabaseTransactionRollback umhüllt werden. Dies beschleunigt den Prozess um das Hundertfache.

Um die Arbeit mit den Funktionen zu beginnen, lesen Sie den Artikel SQLite: Natives Arbeiten mit SQL-Datenbanken in MQL5.

Funktion

Aktion

DatabaseOpen

Öffnet oder erstellt die angegebene Datenbankdatei

DatabaseClose

Schließt die Datenbank

DatabaseImport

Importieren von Daten aus einer Datei in eine Tabelle

DatabaseExport

Exportiert eine Tabelle oder das Ergebnis einer SQL-Anfrage in eine CSV-Datei

DatabasePrint

Druckt eine Tabelle oder ein Ergebnis der SQL-Anfrage im Experten-Journal aus

DatabaseTableExists

Prüft das Vorhandensein der Tabelle in einer Datenbank

DatabaseExecute

Ausführung einer Anfrage an die angegebene Datenbank

DatabasePrepare

Erstellt das Handle für die Anfragen, die durch DatabaseRead() ausgeführt werden kann

DatabaseReset

Rücksetzen einer Anfrage, wie nach dem Aufruf von DatabasePrepare()

DatabaseBind

Setzt einen Parameterwert in einer Anfrage

DatabaseBindArray

Setzt einen Parameterarray als Parameterwert

DatabaseRead

Wechselt zum nächsten Eintrag als Ergebnis einer Anfrage

DatabaseReadBind

Wechselt zum nächsten Datensatz und liest aus ihm Daten in die Struktur

DatabaseFinalize

Entfernt eine Anfrage, die durch DatabasePrepare() erstellt wurde

DatabaseTransactionBegin

Startet die Ausführung der Transaktion

DatabaseTransactionCommit

Schließt die Ausführung der Transaktion ab

RDatabaseTransactionRollback

Zurücksetzen der Transaktionen

DatabaseColumnsCount

Abrufen der Felderanzahl einer Anfrage

DatabaseColumnName

Abrufen des Feldnamens nach dem Index

DatabaseColumnType

Abrufen des Feldtyps nach dem Index

DatabaseColumnSize

Abrufen der Feldgröße in Bytes

DatabaseColumnText

Abrufen des Feldwerts als Zeichenkette aus dem aktuellen Datensatz

DatabaseColumnInteger

Abrufen des Integer-Werts aus dem aktuellen Datensatz

DatabaseColumnLong

Abrufen des Long-Werts aus dem aktuellen Datensatz

DatabaseColumnDouble

Abrufen des Double-Wertes aus dem aktuellen Datensatz

DatabaseColumnBlob

Abrufen des Feldwerts als Array aus dem aktuellen Datensatz