Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Wie liest man das Ergebnis der Funktion mysql_fetch_row in MQL4 ?
Ich entwickle gerade ein Skript, das mit einer MySQL-Datenbank arbeitet, um sie zu lesen, einzufügen, zu löschen und zu ändern.
Das Skript ist umfangreich, aber das Wesentliche der Arbeit mit der Datenbank wird, denke ich, durch eine Funktion verständlich.
Allerdings ist in diesem Beispiel ID des Datensatzes aus der Tabelle zurückgegeben, aber es wird nicht ein Problem sein, wieder zu machen, ich erinnere mich und Text und Zahlen aus der Datenbank zurückgegeben, alles funktioniert.
ein kleines Forschungsexperiment durchgeführt
Ich habe eine Tabelle mit zwei Feldernerstellt
INT id; TEXT user
es gibt zwei Zeilen in der Tabelle
id user
1 aaa
2 bbb
1. Bei der Abfrage "SELECT id FROM table" liefert die Funktion fetch_row (Adresse)(Adresse) 1 (Adresse)(Adresse) 2
2. Die Abfrage "SELECT user FROM table", die Funktion fetch_row gibt (Adresse) aaa (Adresse) bbb
Im Allgemeinen kann dies gehandhabt werden, die einzige Schande ist, dass es in String zurückgibt
Wenn ich zwei Felder abfrage "SELECT id, user FROM table", liefert die Funktion (Adresse) 1 (Adresse) (Adresse) (Adresse) 2
4. Wenn Sie die "SELECT user, id FROM table"-Felder vertauschen, gibt die Funktion (Adresse) aaa (Adresse) bbb
zurück. Es stellt sich heraus, dass nur das erste Feld der Zeichenkette deutlich sichtbar ist und eine weitere 4-Byte-Adresse hinzugefügt wird.
ein kleines Forschungsexperiment durchgeführt
eine Tabelle mit zwei Feldern erstellt
INT id; TEXT Benutzer
die Tabelle hat zwei Zeilen
id-Benutzer
1 aaa
2 bbb
1. Bei der Abfrage "SELECT id FROM table" liefert die Funktion fetch_row (Adresse)(Adresse) 1 (Adresse)(Adresse) 2
2. Bei der Abfrage "SELECT user FROM table" liefert die Funktion fetch_row (Adresse) aaa (Adresse) bbb
Im Allgemeinen kann es gehandhabt werden, aber die Rückgabe erfolgt als String
3. Wenn die Funktion "SELECT id, user FROM table" zwei Felder zurückgibt, liefert sie (Adresse) 1 (Adresse) (Adresse) 2
4. Wenn wir die Felder "SELECT user, id FROM table" vertauschen, liefert die Funktion (Adresse) aaa (Adresse) bbb
stellt sich heraus, dass nur das erste Feld der Zeichenkette explizit gesehen wird und eine weitere 4-Byte-Adresse hinzugefügt wird.
Wie bringen Sie dies anschließend in das Programm ein?
Ich werde im Grunde genommen Fließkommazahlen schreiben und sie lesen.
Ich entwickle gerade ein Skript, das mit einer MySQL-Datenbank arbeitet, um sie zu lesen, einzufügen, zu löschen und zu ändern.
Das Skript ist umfangreich, aber das Wesentliche der Arbeit mit der Datenbank wird, denke ich, durch eine Funktion verständlich.
Wahre, gibt dieses Beispiel Datensatz-ID aus der Tabelle, aber kein Problem zu remake, erinnere ich mich und Text und Zahlen aus der Datenbank zurückgegeben, alles funktioniert.
Dies ist ein interessantes Beispiel, aber es zeigt nicht, wie man numerische Daten liest.
Im Grunde möchte ich eine Basis mit einer dreispaltigen Tabelle für nur zwei Aktionen verwenden:
1) Lesen Sie die ersten beiden Spalten (Index und die erste numerische Spalte)
Wählen Sie dann die relevanteste Zahl aus der numerischen Spalte im MQ4-Programm
2) Lies aus dem Index dieser Zahl die Zahl in der zweiten Spalte.
Welche Funktionen sollte ich dafür verwenden? Und funktionieren sie normal in der angegebenen DLL?
Dies ist ein interessantes Beispiel, aber es zeigt nicht, wie man numerische Daten liest.
Haben Sie eine Zeile Code geschrieben, um zu sehen, was zurückgegeben wird und wie?
HIDDEN hat bereits eine vollständige Lösung für das Auslesen eines Feldes aus der Datenbank gegeben. Haben Sie es ausgeführt?
Wenn Sie helfen können, schreiben ansi zu Unicode-Konverter für MKL5, der Code von denen in der vorherigen Post gegeben ist. Ich schicke Ihnen den Arbeitscode für MKL4, er wird Ihnen auch beim Schreiben der Klasse für MKL5 helfen.
MQL5 hat Funktionen zur Umwandlung von Unicode. Siehe /de/docs/convert/chararraytostring und /de/docs/convert/stringtochararray
Deklarieren Sie uchar-Arrays anstelle von Strings im Funktionsimport.
Deklarieren Sie in Importfunktionen keine Strings, sondern Arrays vom Typ uchar
Das Problem ist leider, dass diese Zeichenketten als Ergebnis einer Funktion zurückgegeben werden, nicht als einer ihrer & Parameter.
mysql_fetch_row gibt einen Zeiger auf ein Array von Strings zurück - char**
--------
weiß jemand, ob es irgendwelche Low-Level-Kernel-Funktionen, die eine char ** Zeichenfolge aus einem char-Array zurückgeben können?
(wie strcpy, strcat...)
und in ähnlicher Weise von einem int*-Array - eine Lib-Funktion, um sein spezifisches Element zu erhalten?
auch wenn die Funktion selbst nicht direkt für diesen Vorgang vorgesehen ist :)
Vollständiger Code Implementierung....
SQL-Dump der Datenbank
Arbeitsergebnis