delete from Table1 where Param1 =?Param1 and Param2 =?Param2
Suppose, that Param2 is null. Standard components simply set Param2 buffer to nil and that's all. But actually, it is necessary to send another query to a server:
delete from Table1 where Param1 =?Param1 and Param2 IS NULL
Otherwise, the server will not delete a necessary record as it just cannot find such a record. The PoNoForceIsNul option allows TpFIBQuery (and TpFIBDataSet) to change SQL with NULL parameter values if necessary. If you have record with NULL fields in your selecting query, the "delete" query won't work until you set PoNoForceIsNul to True.
FIBPlus has taken the headache out of this project. When I got the current contract, FIBPlus was included on the work computer from the client. I quickly found it easier to use and more powerful than any other Firebird component suite I had tested. When I ran into a problem setting up a persistent calculated field, the tech support people saved the day. I would also add that I tested Zeos, IBX, DBGo, UIB, and other FBconnectors. FIBPlus outperformed all of them, and FIBPlus was run on an older machine than the others were. That was most impressive.>>