dynamic query

sureshp

Member
can i write dynamic query in progress.

for instance

* I hav field name in a variable say c = "fldName".

* can i include the variable c in a query, like


For Each table where c = "value":
..
end.
 
Hi,

You could try something like this :

Code:
DEF VAR myBh AS WIDGET-HANDLE   NO-UNDo.
DEF VAR myQh AS WIDGET-HANDLE   NO-UNDO.
DEF VAR tbl AS CHAR NO-UNDO.
DEF VAR c AS CHAR NO-UNDO.

/* Here, "tbl" has to be assigned before the buffer creation */
CREATE BUFFER myBh FOR TABLE tbl.
CREATE QUERY myQh.

myQh:SET-BUFFERS(myBh).

/* Here, "c" has to be assigned before the Query Prepare */
myQh:QUERY-PREPARE("FOR EACH " + tbl + " WHERE " + c + " = 'value'").
myQh:QUERY-OPEN.

myQh:GET-FIRST().
  
DO WHILE NOT myQh:QUERY-OFF-END :
  /* .......... */
  myQh:GET-NEXT().
END.

IF VALID-HANDLE myQh THEN DELETE WIDGET myQh.
IF VALID-HANDLE myBh THEN DELETE WIDGET myBh.
 
Back
Top