Acumatica 使用PXDatabase删除具有空字段的记录

Acumatica 使用PXDatabase删除具有空字段的记录,acumatica,Acumatica,使用PXDATABASE删除表中专门包含空值的记录的正确方法是什么?我将展示使用PXDATABASE方法处理空值的错误方法和正确方法 这是一个错误的例子 PXDatabase.Delete<CWPAYINT>( new PXDataFieldRestrict<CWPAYINT.linePmtAmt>(PXDbType.Decimal, 0), new PXDataFieldRestrict<CWPAYINT.statu

使用PXDATABASE删除表中专门包含空值的记录的正确方法是什么?

我将展示使用PXDATABASE方法处理空值的错误方法和正确方法

这是一个错误的例子

PXDatabase.Delete<CWPAYINT>(
            new PXDataFieldRestrict<CWPAYINT.linePmtAmt>(PXDbType.Decimal, 0),
            new PXDataFieldRestrict<CWPAYINT.status>(PXDbType.VarChar, null)
        );
这是处理空值的正确方法:

PXDatabase.Delete<CWPAYINT>(
            new PXDataFieldRestrict("linePmtAmt", 0),
            new PXDataFieldRestrict("status", PXDbType.VarChar, 1, null, PXComp.ISNULL)
PXDatabase.Delete<CWPAYINT>(
            new PXDataFieldRestrict("linePmtAmt", 0),
            new PXDataFieldRestrict("status", PXDbType.VarChar, 1, null, PXComp.ISNULL)
exec sp_executesql N'DELETE FROM CWPAYINT WHERE [linePmtAmt] = @P0 AND [status] IS NULL AND CompanyID = 2',N'@P0 int',@P0=0