Frage

Ich gründe eine ADO-basierte Client-Datenmenge auf, und wenn ich versuche, einen Nullwert in eine TIntegerField einzufügen, auf Beitrag ich Project raised exception class EDatabaseError with message 'Non-nullable column cannot be updated to Null'.

Ich weiß, ich habe einen Weg gesehen, bevor sie eine TField als NULL-Werte zulassen zu setzen, aber ich kann mich nicht erinnern, wo oder wie. Wer weiß, wie dieses Problem beheben?

EDIT:. Das Feld wird auf Required = false zur Design-Zeit, und ich habe festgestellt, dass es zur Laufzeit immer noch falsch ist, aber ich habe immer noch den Fehler

War es hilfreich?

Lösung

Haben Sie überprüft, ob das db-Feld, das dieses Feld darstellt eine nicht NULL-Constraint?

Andere Tipps

MyField.Required := False;

Von Hilfe zu Delphi 5:

property Required: Boolean;

, aber sich bewusst sein:

property CustomConstraint: String;

Auch einige Implementierung von Klassen von TDataSet geerbten kann eine gewisse Logik auf ihren eigenen hinzufügen ...

Ich weiß nicht, ob dies helfen wird, aber es kommt mir bekannt vor. Überprüfen Sie die Eigenschaften auf den Feldern des Aufhebens Datensatzes, der die cds-Feeds. Ich weiß, in d7 die intern CDs auf der Nur-Lese-Eigenschaft des Datensatz des Anbieters erfolgt unabhängig von seiner eigenen Nur-Lese-Einstellung. das gleiche Problem auf die gewünschte Eigenschaft gelten.

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