Klaus1: Verständnisproblem: MySQL-Queries in Node.js

Beitrag lesen

Puh, das klingt für mich ganz schön kompliziert.

Um Deine Frage zu beantworten, was genau passiert bzw.nicht passiert: Es wird in der Console lediglich "vorher" und "nachher" ausgegeben, aber nicht die Consolen-Ausgaben innerhalb der SQL-Abfrage. Weder Erfolg noch Misserfolg noch Fehler.

Mein Problem ist, dass ich einige Abfragen von einander abhängig hintereinander aufrufen muss:

- ist der client bekannt?
- wenn ja, ist das Kommando bekannt? wenn nein, insert into protokoll
- wenn ja, gibt es den Parameter-Eintrag? wenn nein (und wert ungleich 0): insert
- wenn ja, ist der neue Wert ungleich 0? wenn 0, dann delete
- wenn ja, Update

Einzelne oder gruppierbare Abfragen kann ich in einen Funktionsaufruf kapseln, aber wie mache ich das bei abhängigen Abfragen, die ich mit dem then-Händler serialisieren muss? Wobei auch bei ersterem für mich noch die Frage besteht, ob ich nur den SQL-Aufruf in die Funktion legen kann, aber die weitere Verarbeitung mit dem Ergebnis nicht.

Vielleicht so?:

strQuery = "select umsatz from umsaetze where kdnr = 123456";
result = performqueries(strQuery);
umsatz = result[0].umsatz;

function performqueries(strQuery) {
		pool.getConnection(function(err, connection) {
			connection.query(strQuery, function(err, rows) {
				if (err) {
					console.log("Fehler bei: "+strQuery);
					console.log(err);
				} else {
					return rows;
				}
			});
			connection.release();
		});
}