Delphi 如何将TField声明为可空?

Delphi 如何将TField声明为可空?,delphi,null,tdataset,Delphi,Null,Tdataset,我正在设置一个基于ADO的客户端数据集,当我尝试将空值插入到TIntegerField中时,在Post上我得到了项目引发的异常类EDatabaseError,并显示消息“Non-nullable column cannot update to null”。 我知道我以前见过将TField设置为可空的方法,但我不记得在哪里或如何设置。有人知道如何解决这个问题吗 编辑:该字段在设计时被设置为Required=false,我已经验证了它在运行时仍然为false,但是我仍然得到了错误。来自Delphi

我正在设置一个基于ADO的客户端数据集,当我尝试将空值插入到TIntegerField中时,在Post上我得到了
项目引发的异常类EDatabaseError,并显示消息“Non-nullable column cannot update to null”。

我知道我以前见过将TField设置为可空的方法,但我不记得在哪里或如何设置。有人知道如何解决这个问题吗

编辑:该字段在设计时被设置为Required=false,我已经验证了它在运行时仍然为false,但是我仍然得到了错误。

来自Delphi 5的帮助:

MyField.Required := False;
property Required: Boolean;
但要注意:

property CustomConstraint: String;

此外,从TDataSet继承的类的某些实现可能会自行添加一些逻辑…

您是否验证了此字段所代表的db字段
是否有非空约束?

我不知道这是否有帮助,但听起来很熟悉。检查提供CD的ado数据集字段的属性。我知道在d7中,CD在内部接受提供者数据集的只读属性,而不管其自身的只读设置如何。同样的问题可能也适用于所需的属性。

是的,显然这里就是这样。嘿嘿。。。那件事发生在我身上太多次了。。。这是我确认的第一件事…;-)