2014-02-08 73 views
1

對於Progress我相當新,如果我錯過了任何明顯的東西,甚至更新,以應付如此的歉意,我在網上查找,但我還沒有找到我在找什麼。Progress 4GL:所有字段的緩衝區句柄屬性

我正在運行一個類似於下面的動態查詢,在這個例子中,在查詢運行之後,相應記錄的「age」字段顯示在屏幕上,我明白這是如何從buffer-field屬性方法,但我的問題是我如何顯示整個記錄,是否有一個等價的屬性方法,或者我誤解了一些重要的東西?感謝您的時間。 :

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 

回答

1

沒有「簡單」的方法可以用一種靜態的「DISPLAY table-name」語句在一條語句中顯示整條記錄。您可以獲得字段數(緩衝區句柄:NUM-FIELDS),然後遍歷各個字段並使用

DO i = 1 to bh:NUM-FIELDS: 
    DISPLAY bh:BUFFER-FIELD(i):BUFFER-VALUE WITH DOWN. 
    DOWN. 
END.