Einzelnen Beitrag anzeigen

Moebius97

Registriert seit: 1. Jul 2010
4 Beiträge
 
Delphi 2 Desktop
 
#1

DataSet und die Datenbanklogik

  Alt 2. Nov 2010, 08:50
Datenbank: Firebird • Version: 2.5 • Zugriff über: Interbase Express
Hallo allerseits,
wir hatten öfter schon das Thema, dass man an generierte IDs (AutoInc usw.) nicht ohne Weiteres in seiner Delphi-anwendung heran kommt, wenn neue Datensätze angelegt werden. Nachdem ich die entsprechenden Krücken eingebaut habe (eigene Abfrage eines Generators und dessen ID verwenden), wird mir jetzt eine Feldberechnung zu früh ausgeführt. Es handelt sich um ein per Firebird mit "computed by"-Ausdruck berechnetes Zeitstempelfeld. Ich hätte gerne ein Paar aus Komponenten und Datenbank, das mir solche Hacks erspart. Ich möchte die Datenbanklogik soweit wie möglich in die Datenbank verlagern und Komponenten, die das auch berücksichtigen.

Hintergrund: Es geht um ein Datenmodul, auf dem mehrere TIBTable-Komponenten kleben. Ich hänge in der "Haupttabelle" AfterInsert- und Afterscroll-Handler ein. In AfterInsert muss ein Datensatz in einer abhängigen Tabelle angelegt werden, der ein berechnetes Feld enthält (das für die Anzeige erstmal nicht gebraucht wird). Dort knallt es "0.0 ist kein gültiger Zeitstempel". AutoCalcfields abzuschalten, nützt übrigens nichts.

Hat jemand eine Empfehlung für ein "sauberes System"? Kann ich mit stabileren Komponenten auf eine Firebird-DB zugreifen? Oder sollte ich die DB doch wechseln?
  Mit Zitat antworten Zitat