charlytango hat geschrieben: Fr 11. Okt 2024, 10:02
Zvoni hat geschrieben: Do 10. Okt 2024, 11:48
Ich für meinen Teil bau die Business-Logik halt anderst auf (SQL-Statements stehen bei mir nicht im Frontend-"Quelltext", sondern selbst in der Datenbank)
Oh... auf die Idee wäre ich jetzt nicht gekommen, hat aber was.
Flexibilität gegen mehr Traffic. Aber ein spannender Ansatz.
Jepp.
Ich hab im Prinzip im Frontend immer nur ein und dasselbe SQL-Statement
(und natürlich im DB-Backend auch immer diesselbe Tabelle).
Der ID-Parameter ist im Frontend eine lange Liste von Konstanten.
Der Trick dabei ist, dass unten gezeigtes Statement von JEDEM DBMS verstanden wird (Und NEIN, DBF ist kein DB-System

)
Code: Alles auswählen
SELECT SQLStatement FROM tbl_SQL_Statements WHERE ID=:pID;
Heisst: Ich feuer genanntes Statement an die angeschlossene DB, und hole mir DAMIT erst das eigentliche Statement aus der DB selbst im jeweils SPEZIFISCHEN SQL-Dialekt ab.
Vorteil: Ich kann das SQL-Statement selbst in der DB ändern (bsp. MySQL-Workbench, DB Browser for SQLite, SSMS, was auch immer),
SOLANGE das Interface des Statements gleich bleibt --> Bsp. 5 Spalten als Ergebnis mit ihren jeweiligen Datentypen, 2 In-Parameter usw.
Ist mir sogar tatsächlich passiert:
Das ursprüngliche SQL sollte eine Übersicht für unsere Top10-Kunden sein, mit Summe der gelieferten Tonnage
Nach nem Monat kam mein Chef und sagt: "Tonnage ist irgendwie uninteressant. Kannst du stattdessen Summe des Umsatzes machen?"
Antwort: "Kein Problem" --> SQL im Backend geändert. Feuer frei.
Ich musste nicht mein Frontend neu kompilieren!!!
Und ja: ich hab ne Dynamik eingebaut, damit die Spalten-Überschriften entsprechend dann auch geändert wurden. War ein anderes SQL-Statement.....