我想使用以下查询来查找最后一个招标ID.
FOR EACH tender-table NO-LOCK WHERE tender-table.kco = 1 BY tender-table.id:
DISPLAY tender-table.id.
END.
Run Code Online (Sandbox Code Playgroud)
此查询查看所有投标ID,并以升序返回所有id的所有结果.我得到的结果是
1,035 1.036 ...... 1,060 1,061 1,062 1,063 1,064 1,065 1,066
FOR LAST tender-table NO-LOCK WHERE tender-table.kco = 1 BY tender-table.id:
DISPLAY tender-table.id.
END.
Run Code Online (Sandbox Code Playgroud)
但是,当我使用此查询来查找最后一个ID时,我得到结果,
1061
当我应该看到结果1,066.任何人都可以建议为什么会这样吗?
我从查询中填充了一个临时表,临时表看起来像,
ttcomp.inum
ttcomp.iname
ttcomp.iadd
Run Code Online (Sandbox Code Playgroud)
此临时表中有5000条记录,现在我想写入CSV文件.我认为它可以完成,output stream但我不知道如何实现这一点.请有人帮我解决这个问题.
在这个例子中,我有两个表; 订单标题(oe-hdr)和位置(位置).订单表头表包含两个字段(sale-location-key和ship-location-key),这些字段在位置表中具有关联的位置名称.如果我使用SQL来获取结果,我会做这样的事情.
SELECT oe-hdr.order-num, oe-hdr.order-date, saleloc.location-name, shiploc.location-name
FROM oe-hdr,
(SELECT location.location-name
FROM oe-hdr, location
WHERE oe-hdr.sale-location-key = location-key) as saleloc,
(SELECT location.location-name
FROM oe-hdr, location
WHERE oe-hdr.ship-location-key = location-key) as shiploc
WHERE oe-hdr.order-num = saleloc.order-num
AND oe-hdr.order-num = shiploc.order-num
Run Code Online (Sandbox Code Playgroud)
有谁知道如何在Progress程序中复制它?
我如何像下面这样将数字和字符串添加到Progress4GL的字符变量中(这只是一个展示想法的示例)。
a = 'Code'
b = 1
c = a+b
Run Code Online (Sandbox Code Playgroud)
因此c,其值为“ Code1”
如何在progress4GL上执行此操作?
任何帮助表示赞赏。
我如何从显示语句中逃避花括号进度abl?
我们的朋友谷歌没有找到任何信息
DISPLAY "{"httCust":[]}"
Run Code Online (Sandbox Code Playgroud) 有谁知道Progress 10.1C在编码功能中使用哪种算法?
我发现了这个:http://knowledgebase.progress.com/articles/Article/21685
的进展4GL ENCODE函数使用CRC-16算法来生成其编码的输出.
Progress 4GL:
ENCODE("Test").
Run Code Online (Sandbox Code Playgroud)
给出输出" LkwidblanjsipkJC "
但是例如在http://www.nitrxgen.net/hashgen/上使用密码" Test ",我从来没有从Progress获得结果.
有任何想法吗?:)
我在运行时获得了一个数据库表名(让我们假设来自用户).我需要查询表并返回几个字段(我知道).这该怎么做?
"FOR FOR EACH"不会接受变量名称.所以,我无法使用它.
我经历了动态查询,尤其是SET-BUFFERS()方法.即便如此,我还需要知道表名.
我需要这样的东西:
DEF VAR tablename AS CHAR.
tablename = somename.
FOR EACH tablename WHERE ....:
...
...
END.
Run Code Online (Sandbox Code Playgroud)
有人可以指点我正确的方向吗?
我正在寻找一种以Progress “ .d”文件格式手动转储OpenEdge数据库表中的记录子集的最简单方法。
我能想到的最好方法是创建一个额外的测试数据库,该数据库具有与源数据库相同的架构,然后使用FOR EACH和BUFFER-COPY语句将记录的子集复制到测试数据库中。然后,只需使用“ 转储数据和定义表内容(.d文件)...”菜单选项从测试数据库中导出数据即可。
我正在努力通过FOR EACH. 我的目标是只从表中读取前 2 条记录,并将一个字段值保存到变量中。
假设我有一个MyTable包含字段PartNr, CreationDate, Company,的表ID。
我的FOR EACH声明看起来像这样:
FOR EACH MyTable
WHERE MyTable.Company = "TestCompany"
AND MyTable.CreationDate >= 01.01.2021
NO-LOCK:
END.
Run Code Online (Sandbox Code Playgroud)
例如, FOR EACH 语句会找到 15 条记录。然而,我只需要前两个。我想存储PartNr的的first记录在一个变量,而PartNr该的second另一个变量的记录。
之后,FOR EACH声明应该结束。
我也试过使用FIND FIRST,但我不知道如何获得第二条记录。
我几乎找了python相当于break当使用关键字loops。
任何帮助深表感谢。