NEWS
[gelöst] Wie sendet man eine SQL-Query mit Blockly?
-
Hallo ins Forum,
ich möchte per Blockly-Skript die Verbindungen zu meinem SQL-Server zurücksetzen. Der entsprechende Befehl lautet:FLUSH HOSTS;
Nach diversen Recherchen im Internet habe ich mir folgendes Blockly-Skipt erstellt, welches getriggert wird, wenn das Objekt "0_userdata.0.Schalter.Schalter_SQL-Verbindung_zurücksetzen" auf "wahr" gesetzt wird:
Aber das Skript funktioniert nicht und im Skripteditor erhalte ich folgende Fehlermeldung, aus der ich nicht schlau werde:javascript.0 21:28:40.581 warn at Object.<anonymous> (script.js.Systemwartung.Funktion_SQL-Verbindung_zurücksetzen:5:7)
Das Blockly-Skript hat folgende JS-Notation:
on({ id: '0_userdata.0.Schalter.Schalter_SQL-Verbindung_zurücksetzen' /* Schalter_SQL-Verbindung_zurücksetzen */, change: 'ne' }, async (obj) => { let value = obj.state.val; let oldValue = obj.oldState.val; if (getState('ID auswählen').val == true) { sendTo('sql.0', 'query', { 'parameter': 'FLUSH HOSTS', }); console.debug('sendTo[custom] sql.0: parameter: ' + 'FLUSH HOSTS' + ''); setState('0_userdata.0.Schalter.Schalter_SQL-Verbindung_zurücksetzen' /* Schalter_SQL-Verbindung_zurücksetzen */, false); } });
Kann mir jemand erklären, was hier falsch läuft und wie ich den Fehler beheben kann (siehe auch den Titel meines posts)?
Vielen Dank und mit freundlichem Gruß"Klaus"
-
Fehler gefunden:
Im Block "Falls" habe ich vergessen, ein Objekt auszuwählen... -
@klausstoertebeker sagte in [gelöst] Wie sendet man eine SQL-Query mit Blockly?:
Fehler gefunden:
Im Block "Falls" habe ich vergessen, ein Objekt auszuwählen...Ausgehend davon das du auch da das Objekt
Schalter_SQL_Verbindung_zurücksetzen
ausgewählt hast gibt es 2 mögliche Verbesserungen:- Option A (das nutze ich zumeist): Umstellen des Trigger auf
ist grösser als vorher
- dann kann der falls Block entfallen, weil der Trigger nur auf die Änderungfalsch
aufwahr
anspringt (Fun fact: Bei JS giltwahr
>falsch
) - Option B (das nutze ich wenn ich auf den Wert zugreifen will der den Trigger ausgelöst hat): Es gibt im Trugger-Bereich einen Baustein
Wert
vorbelegt ist. Im Falls statt deswert von Objekt ID ...
Baustein diesen nutzen (siehe Bild).
Nur so als Vorschlag.
A.
- Option A (das nutze ich zumeist): Umstellen des Trigger auf
-
@klausstoertebeker
Ich setze zu @Asgothian noch einen drauf: In Benennungen am besten keine Umlaute verwenden.
Weder in Scriptnamen, noch in Datenpunkten oder Variablen. -
@klausstoertebeker sagte in [gelöst] Wie sendet man eine SQL-Query mit Blockly?:
Kann mir jemand erklären, was hier falsch läuft und wie ich den Fehler beheben kann (siehe auch den Titel meines posts)?
Du musst den Parameter-Namen entfernen damit das geht. Ist etwas unschön gelöst, aber nur so erreicht man, dass kein Objekt übergeben wird: