|
You need to FETCH rows from your declared cursor, depositing the data into a
data structure. Here's one I prepared earlier ;) ...
C/EXEC SQL
C+ DECLARE C1 CURSOR FOR
C+ SELECT * FROM ELA, ILM
C+ WHERE ELA.AORD = :W@ORDR
C+ AND ELA.ALOC = ILM.WLOC
C+ AND ELA.AWHS = ILM.WWHS
C+ ORDER BY ELA.AORD, ILM.WZONE, ILM.WPIKS, ELA.ALINE
C/END-EXEC
*
* Open up the SQL query defined above.
*
C/EXEC SQL
C+ OPEN C1
C/END-EXEC
*
C CLEARCMBDS Clear receiving data structure
*
* Fetch a row from the SQL query.
*
C/EXEC SQL
C+ FETCH C1 INTO :CMBDS
C/END-EXEC
*
CMBDS is just a data structure with the same
field definitions as files ELA and ILM. I clear CMBDS
before each fetch, and if the fields are empty after
the fetch, I know that's the end of my selection.
Also, a gotcha - if the program variable W@ORDR
changes, you need to close the SQL cursor and reopen
before the SQL fetch will work correctly.
Regards,
Ray
______________________________ Reply Separator
_________________________________
Subject: V3R2: EMBEDDED SQL
Author: MIDRANGE-L@midrange.com at INTERNET
Date: 15/04/97 16:32
I'm attempting to code an embedded SQL select
statement for a cursor by building the SQL statement,
preparing it, and then opening the associated cursor.
I keep getting no records returned. The SQL select
looks fine. Can anyone provide some help?
Here's the code:
D SQLSTR S 256A
D*
C/EXEC SQL
C+ DECLARE WRKEMPCR CURSOR
C+ FOR DYNSQLSTMT
C/END-EXEC
C EVAL SQLSTR = 'SELECT * FROM AFILE +
C WHERE FLD1 = ' +
C VALUE1 +
C ' ORDER BY FLD2, FLD3'
C*
C/EXEC SQL
C+ PREPARE DYNSQLSTMT
C+ FROM :SQLSTR
C/END-EXEC
C/EXEC SQL
C+ OPEN WRKEMPCR
C/END-EXEC
umidr
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* This is the Midrange System Mailing List! To submit a new message, *
* send your mail to "MIDRANGE-L@midrange.com". To unsubscribe from *
* this list send email to MAJORDOMO@midrange.com and specify *
* 'unsubscribe MIDRANGE-L' in the body of your message. Questions *
* should be directed to the list owner / operator: david@midrange.com *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2025 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.