【发布时间】:2021-06-03 22:25:14
【问题描述】:
这个问题是this one的后续问题。
我目前有以下源代码:
CREATE BUFFER h-Table1 FOR TABLE "Table1" NO-ERROR.
IF VALID-HANDLE(h-Table1)
THEN DO:
L-Found = h-Table1:FIND-FIRST("WHERE ...
IF L-Found
THEN h-Table1:BUFFER-DELETE().
当我启动 BUFFER-DELETE() 命令时,出现错误 335 (The Table1 record has NO-LOCK status. DELETE not allowed. (335))。我需要如何更改我的源代码才能使其正常工作? (如何更改 Table1 记录的状态?)
【问题讨论】:
-
您可能需要阅读有关缓冲区句柄 docs.progress.com/bundle/openedge-abl-reference-117/page/… 的文档,并从那里了解您正在使用的方法。
-
@StefanDrissen:虽然您对文档的引用是正确的,但我必须说文档非常有限:例如我们在那里处理的特殊情况,处理
BUFFER-DELETE()方法。我提到的问题,可以使用EXCLUSIVE-LOCK参数来处理,但是相应的文档(docs.progress.com/bundle/openedge-abl-reference-117/page/…)中都没有提到该参数和运行时错误。 -
缓冲区句柄页面中可用的 find-first 方法描述了 FIND-FIRST 语法(谓词表达式 [ , lockmode[ , waitmode]] )
标签: openedge progress-4gl