簡體   English   中英

Progress 4GL:所有字段的緩沖區句柄屬性

[英]Progress 4GL: Buffer handle attribute for all fields

我是 Progress 的新手,甚至是新手,所以如果我遺漏了任何明顯的東西,我深表歉意,我在網上看過但還沒有找到我要找的東西。

我正在運行類似於下面的動態查詢,在此示例中,在運行查詢之后,相應記錄的“年齡”字段顯示在屏幕上,我了解這是如何從緩沖區字段屬性方法完成的,但是我的問題是如何顯示整個記錄,是否有等效的屬性方法,或者我是否誤解了一些重要的東西?。 感謝您的時間。 :

def var tbl as character no-undo.
def var fld as character no-undo.
def var qh as handle no-undo.
def var bh as handle no-undo.
def var fh as handle no-undo.

assign tbl = "customer".
assign fld = "age".
create buffer bh for table tbl.
create query qh.
qh:set-buffers( bh ).
qh:query-prepare( "for each " + tbl + " where name = 'tom'" ).
qh:query-open.

do transaction:
    qh:get-first( no-lock ).
    fh = bh:buffer-field( fld ).
    display fh:buffer-value.
end.

delete object bh.
delete object qh

沒有一種簡單的方法可以像使用靜態“ DISPLAY table-name”語句那樣在一條語句中顯示整個記錄。 您可以獲取字段的計數(buffer-handle:NUM-FIELDS),然后逐步瀏覽各個字段並使用顯示它們的值

DO i = 1 to bh:NUM-FIELDS: 
     DISPLAY bh:BUFFER-FIELD(i):BUFFER-VALUE WITH DOWN.
     DOWN.
END.
create query qh.
qh:set-buffers( bh ).
qh:query-prepare( "for each " + tbl + " where name = 'tom'" ).
qh:query-open.
qh:GET-FIRST().
DO while qh:QUERY-OFF-END = False:  
   DO i = 1 TO bh:NUM-FIELDS:
      display bh:BUFFER-FIELD (i):NAME STRING(bh:BUFFER-FIELD(i):BUFFER-VALUE) with down.
      down.
   END. 
   qh:GET-NEXT ().
END. 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM