在执行以下语句后,谁能告诉我在X ++中该怎么做才能从args.record()。datasource()方法获取NOT null值:

PurchTable    purchTable;

args.record(purchTable);

if(args.record().datasource())  //this condition fails because of null value
{
    //I have to reach here
}

我知道从Form调用相同的代码可以正常工作,但是我的情况是我必须在X ++中执行此代码。请帮忙!

最佳答案

args.record()。datasource()将检索表单数据源。在这里,您仅使用表缓冲区。这就是为什么你什么都没有的原因。

如果要检索表缓冲区,则可以采用以下方式:

PurchTable purchTable;
PurchTable argPurchTable;

select firstOnly purchTable;
args.record(purchTable);

if (args.record() && args.dataset() == tableNum(PurchTable))
{
    argPurchTable = args.record();
    //do something
}

问候,

杰弗里

10-08 17:36