PreviousNextIndex

CLOSE QUERY statement

Closes a query that was opened by a previous OPEN QUERY statement.

Syntax

CLOSE QUERY query 

query
Example

The r-clsqry.p procedure defines a query, q-cust, which it shares with r-query.p. Each time you choose the Ascending, Descending, or CustNum button, the procedure opens a new query for q-cust. To do this, the procedure must first close an open query for each q-cust. Therefore, the CLOSE QUERY statement is used in the CHOOSE trigger for each of these buttons.

r-clsqry.p 
DEFINE NEW SHARED BUFFER x-cust FOR Customer. 
DEFINE NEW SHARED QUERY  q-cust FOR x-cust. 
DEFINE BUTTON b_quit LABEL "Quit" 
  TRIGGERS: 
    ON CHOOSE QUIT. 
  END. 
   
DEFINE BUTTON b_ascend  LABEL "Ascending". 
DEFINE BUTTON b_descend LABEL "Descending". 
DEFINE BUTTON b_num     LABEL "CustNum". 
FORM b_ascend b_descend b_num b_quit 
  WITH FRAME butt-frame ROW 1. 
ON CHOOSE OF b_ascend DO: 
  CLOSE QUERY q-cust. 
  OPEN QUERY q-cust FOR EACH x-cust NO-LOCK BY x-cust.name. 
  DISABLE ALL WITH FRAME butt-frame. 
  RUN r-query.p. 
END. 
ON CHOOSE OF b_descend DO: 
  CLOSE QUERY q-cust. 
  OPEN QUERY q-cust FOR EACH x-cust NO-LOCK 
    BY x-cust.name DESCENDING. 
  DISABLE ALL WITH FRAME butt-frame. 
  RUN r-query.p. 
END. 
ON CHOOSE OF b_num DO: 
  CLOSE QUERY q-cust. 
  OPEN QUERY q-cust FOR EACH x-cust NO-LOCK 
    BY x-cust.CustNum. 
  DISABLE ALL WITH FRAME butt-frame. 
  RUN r-query.p. 
END. 
DO WHILE TRUE: 
  ENABLE ALL WITH FRAME butt-frame. 
  WAIT-FOR CHOOSE OF b_ascend, b_descend, b_num, b_quit. 
END. 

r-query.p
DEFINE SHARED BUFFER x-cust FOR Customer. 
DEFINE SHARED QUERY  q-cust FOR x-cust. 
GET FIRST q-cust. 
DO WHILE AVAILABLE(x-cust): 
  DISPLAY x-cust.name x-cust.custnum 
    WITH FRAME cust-info CENTERED DOWN ROW 3 USE-TEXT. 
  DOWN 1 WITH FRAME cust-info. 
  GET NEXT q-cust. 
END. 

Notes
See also

CURRENT-RESULT-ROW function, DEFINE QUERY statement, GET statement, NUM-RESULTS function, OPEN QUERY statement, REPOSITION statement


OpenEdge Release 10.2B
Copyright © 2009 Progress Software Corporation
PreviousNextIndex