Comment puis-je déclarer un champ comme annulable?
Question
Je mettre en place un ensemble de données client ADO, et lorsque je tente d'insérer une valeur nulle dans un TIntegerField, sur le Post-je obtenir Project raised exception class EDatabaseError with message 'Non-nullable column cannot be updated to Null'.
Je sais que je l'ai vu un moyen de mettre un TField comme annulable, mais je ne me souviens pas où ni comment. Est-ce que quelqu'un sait comment résoudre ce problème?
EDIT:. Le champ est défini sur Obligatoire = false au moment de la conception, et je l'ai vérifié qu'il est encore faux lors de l'exécution, mais je reçois toujours l'erreur
La solution
Avez-vous vérifié si le champ db que ce domaine représente une contrainte non nulle?
Autres conseils
MyField.Required := False;
De l'aide à Delphi 5:
property Required: Boolean;
mais méfiez-vous:
property CustomConstraint: String;
également une implémentation des classes héritées de TDataSet peut ajouter une certaine logique sur leur propre ...
Je ne sais pas si cela vous aidera, mais il semble familier. vérifier les propriétés des champs de l'ensemble de données de bruit qui alimente les cds. Je sais que dans d7 les cds prend en interne sur la propriété de l'ensemble de données en lecture seule du fournisseur quel que soit son propre réglage de lecture seule. le même problème peut demander à la propriété requise.