Delphi lässt mich nicht mit fehlenden Säulen einsetzen, sondern mit Auslöser und Generatoren für diese Felder

StackOverflow https://stackoverflow.com/questions/9021397

Frage

Das Problem ist einfach: Ich habe Triggers und Generatoren in meiner Firebird 2.1.4-Datenbank, um ein Spalten-Auto-Inkrement auf jedem Einsatz zu erstellen.

Die Architektur des Systems lautet wie folgt: generasacodicetagpre.

Wenn ich jedoch versuche, Updates in meinem TClientDataset mit einer fehlenden Spalte zu posten, beschweren Sie sich delphi wie folgt: generasacodicetagpre.

Wenn ich eine SQL-Insert-Anweisung mit den Feldern fehlen, wird die Zeile eingefügt und die Auslöser und Generatoren arbeitet wie erwartet.

Wie verstehe ich Delphi (DBX, Datasnap und solche), was ich versuche, zu tun (und zulassen)?

edit

Bereitstellung von mehr Informationen basierend auf @ MJ2008s Kommentar: Dieses TClientDataset wird zur Laufzeit mit der CLONEcursor-Methode erstellt.Nachdem ich den CLONECURSOR angerufen habe, setze ich dieses Feld dieses Felds auf FALSE ein.Es hilft bei diesem Problem nicht.Beispiel: generasacodicetagpre.

Dies führt dazu, dass dieselbe Ausnahme geworfen wird.

War es hilfreich?

Lösung

I had to set the TSQLDataset's Required property to False too. That solved the issue.

Andere Tipps

Just to complement: when you do a TClientDataset setting, the updates are in the end sent to the data access component, in this case TSQLDataset, so even if the TClientdataset doesn't require the field's value, if the data access component requires it the error is raised.

It'll be the same even if data come from a TADODataset, TIbDataset, or whatever.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top