Es kommt drauf an. entweder man kann selber Required setzen.
Aber viele DBKomponentenLibs setzen das auch auomatisch (z.B. von Devart),
also bei einem
SELECT ... FROM
wird da von der
DB der Status mit abgeholt und dieses Property entsprechend gesetzt, falls bei dem Tabellen-Feld in der
DB ein "NOT NULL" deklariert wurde.
Aber man kann das Verhalten oft auch deaktivieren (oder vergesse zu aktivieren).
Und es kann auch Nachteile haben, denn gibt es z.B. ein DEFAULT oder einen Trigger, welcher das Feld füllen würde, dann raucht TDataSet vorher schon ab, weil es davon nichts weiß.
(theoretisch wäre es hier also möglich ein INSERT ohne das Feld, oder gar eine NULL zu posten, aber TDataSet bricht bereits im BeforePost ab, wenn IsNull und Required=True)