NEWS
[gelöst] Problem mit Javascript-Funktion in Blockly
-
Hallo zusammen,
ich versuche gerade eine Javascript Funktion in einem Blockly-Funktionsblock zu definieren. Leider lässt sich der Block nicht abspeichern. Es kommt aber auch keine Fehlermeldung. Wenn ich das Script komplett in Javascript schreibe funktioniert alles. Ich würde es aber gerne in Blockly definieren.
Hier ist das funktionierende Javascript. Kann mir bitte jemand sagen, wie ich es richtig umbauen muss?
function updateOrInsertBarcode(dbPath, barcode, name) { const sqlite3 = require('sqlite3').verbose(); const db = new sqlite3.Database(dbPath); db.serialize(() => { db.get("SELECT anzahl FROM produkte WHERE barcode = ?", [barcode], (err, row) => { if (err) { console.error('Fehler beim Ausführen der SELECT-Abfrage:', err.message); db.close(); return; } if (row) { db.run("UPDATE produkte SET anzahl = anzahl + 1 WHERE barcode = ?", [barcode], (err) => { if (err) { console.error('Fehler beim Ausführen der UPDATE-Abfrage:', err.message); } else { console.log(`Anzahl für Barcode ${barcode} wurde um 1 erhöht.`); } db.close(); }); } else { db.run("INSERT INTO produkte (barcode, name, anzahl) VALUES (?, ?, 1)", [barcode, name], (err) => { if (err) { console.error('Fehler beim Ausführen der INSERT-Abfrage:', err.message); } else { console.log(`Neuer Eintrag für Barcode ${barcode} hinzugefügt.`); } db.close(); }); } }); }); }In Blockly will ich dann die 3 Variablen barcode, name, dbPath immer wieder neu definieren können, wenn die Funktion abgerufen wird.
-
Hallo zusammen,
ich versuche gerade eine Javascript Funktion in einem Blockly-Funktionsblock zu definieren. Leider lässt sich der Block nicht abspeichern. Es kommt aber auch keine Fehlermeldung. Wenn ich das Script komplett in Javascript schreibe funktioniert alles. Ich würde es aber gerne in Blockly definieren.
Hier ist das funktionierende Javascript. Kann mir bitte jemand sagen, wie ich es richtig umbauen muss?
function updateOrInsertBarcode(dbPath, barcode, name) { const sqlite3 = require('sqlite3').verbose(); const db = new sqlite3.Database(dbPath); db.serialize(() => { db.get("SELECT anzahl FROM produkte WHERE barcode = ?", [barcode], (err, row) => { if (err) { console.error('Fehler beim Ausführen der SELECT-Abfrage:', err.message); db.close(); return; } if (row) { db.run("UPDATE produkte SET anzahl = anzahl + 1 WHERE barcode = ?", [barcode], (err) => { if (err) { console.error('Fehler beim Ausführen der UPDATE-Abfrage:', err.message); } else { console.log(`Anzahl für Barcode ${barcode} wurde um 1 erhöht.`); } db.close(); }); } else { db.run("INSERT INTO produkte (barcode, name, anzahl) VALUES (?, ?, 1)", [barcode, name], (err) => { if (err) { console.error('Fehler beim Ausführen der INSERT-Abfrage:', err.message); } else { console.log(`Neuer Eintrag für Barcode ${barcode} hinzugefügt.`); } db.close(); }); } }); }); }In Blockly will ich dann die 3 Variablen barcode, name, dbPath immer wieder neu definieren können, wenn die Funktion abgerufen wird.
@el-lutschi sagte in Problem mit Javascript-Funktion in Blockly:
Kann mir bitte jemand sagen, wie ich es richtig umbauen muss?
Du darfst natürlich nur den Inhalt der Funktion in einen Blockly-Baustein kopieren. Also die erste und letzte Zeile weglassen.
-
@el-lutschi sagte in Problem mit Javascript-Funktion in Blockly:
Kann mir bitte jemand sagen, wie ich es richtig umbauen muss?
Du darfst natürlich nur den Inhalt der Funktion in einen Blockly-Baustein kopieren. Also die erste und letzte Zeile weglassen.
Vielen Dank für die schnelle Hilfe. Das hatte ich zwar bereits erfolglos versucht, aber nachdem ich es nun noch einmal probiert habe funktioniert es. Scheinbar hatte ich beim letzten Versuch doch noch irgendwo einen Fehler. Ich habe es direkt mit weiteren Funktionen getestet. Jetzt läuft alles. Vielen Dank!
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden