Naja, es handelt sich um eine gezielte Provokation, insofern...Zvoni hat geschrieben:...im Kontext des Codes, ist ganz klar der NOT NULL-Constraint für das Feld der Schuldige
Erstellen von Tabellen
-
- Beiträge: 292
- Registriert: Mo 24. Aug 2020, 14:16
- OS, Lazarus, FPC: Ubuntu Xenial 32, Lazarus 2.2.0, FPC 3.2.2
- CPU-Target: i386
Re: Erstellen von Tabellen
-
- Beiträge: 1084
- Registriert: Sa 12. Sep 2015, 12:10
- OS, Lazarus, FPC: Laz stable (2.2.6, 3.x)
- CPU-Target: Win 32/64, Linux64
- Wohnort: Wien
Re: Erstellen von Tabellen
Dann allerdings macht es f mich wieder Sinn.Sieben hat geschrieben: Fr 11. Okt 2024, 11:28 Tut es nicht, die Exception wird erst ausgelöst, wenn man das Statement mit dem NULL-Parameter tatsächlich an die Datenbank schickt. Auch TField.Clear würde erst mit ApplyUpdates eine auslösen.
Nur schrieb wennerer
wennerer hat geschrieben: Do 10. Okt 2024, 18:56 SQLQuery1.Params.ParamByName('Name').Clear
löst den Fehler aus. Vielen Dank!
-
- Beiträge: 1084
- Registriert: Sa 12. Sep 2015, 12:10
- OS, Lazarus, FPC: Laz stable (2.2.6, 3.x)
- CPU-Target: Win 32/64, Linux64
- Wohnort: Wien
Re: Erstellen von Tabellen
Nun, manchmal hat man auch GlückZvoni hat geschrieben: Fr 11. Okt 2024, 10:14 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!!!

Ich sehe aber dieser Methode Vorteile und auch Nachteile.
Das was sehr charmant für mich wäre, dass man mit einer anderen Tabelle eine Art Teststation für alle SQL Statements im Programm bauen kann um zu checken ob die mit einem anderen DBMS funktionieren und welche eben nicht.
dann wirklich alles generisch zu machen würde den Aufwand drastisch erhöhen.Zvoni hat geschrieben: Fr 11. Okt 2024, 10:14 Und ja: ich hab ne Dynamik eingebaut, damit die Spalten-Überschriften entsprechend dann auch geändert wurden. War ein anderes SQL-Statement.....
Aber ich hab durchaus Respekt vor der Lösung.