ORDA:如何针对字段值查询字段值?

背景

我正在将旧的4D代码从类查询转换为ORDA queries。我不知道的一件事是如何使用字段与字段而不是字段与值进行查询。

编辑:我正在使用4D v17.4。

示例

经典:

Query([Customers];[Customers]State="IN")

orda

ds.Customers.query("State = 'IN'")

目标

我希望能够查询表以比较一个字段值与另一个字段值的结果。我可以通过以下方式在经典查询中做到这一点:

Query([Customers];[Customers]State#[Customers]AdministrativeRegion)

我尝试过的

ds.Customers.query("State # AdministrativeRegion") // DOEsn'T WORK

问题

这可能吗?

iCMS 回答:ORDA:如何针对字段值查询字段值?

您没有提到要使用哪个版本的4D。如今,4D的变化非常迅速,它们之间的差异确实很重要,尽管在这种情况下并没有那么重要。

在查询字符串中使用占位符是第一步。

代替 ds.Customers.query("State # AdministrativeRegion")

ds.Customers.query("State # :1 ";"some value")

每个占位符由1开始的: n 语法引用。这是一个很大的好处,因为4D可以管理转换比较值数据类型。这也是在实体,对象,公式等中引用值的关键。

$entity_selection:=ds.Customers.query("State # :1";$entity.State)

其中$entity是您要比较的那个。

本文链接:https://www.f2er.com/1822417.html

大家都在问