如何构建此数据库表(进度)

时间:2015-05-18 14:21:58

标签: progress-4gl openedge progress-db

首先为新问题道歉,但我对Progress有点新鲜,这就是我想要做的事情:我有一个名为' car'它有一个字段'类型'选项可以是自动的,也可以是手动的。我想使用1个智能浏览器以这种形式显示数据:

名称|价格|名字|价

前两列用于自动车,其余为 - 用于手动。请记住,这个表只是为了审查,不会允许任何操作,所以如果它不实用并不重要,它们只需要排在第1行。

非常感谢任何提示,谢谢!

1 个答案:

答案 0 :(得分:1)

首先,远离smartObjects。他们不再受PSC支持,无论如何都已过时。我会使用这样的临时表进行常规浏览:

DEFINE TEMP-TABLE ttCar
  FIELD autoName    AS CHARACTER
  FIELD autoPrice   AS DECIMAL
  FIELD manualName  AS CHARACTER
  FIELD manualPrice AS DECIMAL. 
/* Go ahead and add an index, for this example I'll skip it */

然后在打开浏览之前你会做这样的事情:

FOR EACH car NO-LOCK:
    CREATE ttCar.
    IF car.type = "AUTO" THEN 
       ASSIGN ttCar.autoName  = car.name
              ttCar.autoPrice = car.price.
    ELSE /* MANUAL */
       ASSIGN ttCar.manualName  = car.name
              ttCar.manualPrice = car.price.
END. /* FOR EACH */

{&open-query-{&browse-name}}

希望它有所帮助......如果这不是您正在寻找的,或者您必须使用smartBrowses,请告诉我,在这种情况下,您需要将字段添加为计算字段并从函数中填充它们。但这可能会影响性能。但如果绝对必要,我可以举一个例子。