× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



fellers... ok, i know embedded sql like the back of my hand.

I'm developing a handler pgm to replicate RLA to SQL - i'm using the
namesValues method...

so my dynamic capabilities paired with the I/O ds's that rpg passes to the
handler pgm have allowed me to build the sql statement you are seeing.

I NOW, within that pgm (that is clueless to what file or field I'm banging
on), need to assign values from the row that select statement generated
into the data structures to pass back to my rpg handler pgm.

Hopefully you have a better picture of canvas now...but the question still
reverts back to my last post and question.

On Fri, Oct 13, 2017 at 3:23 PM, Alan Campin <alan0307d@xxxxxxxxx> wrote:

The question is why are you doing this.

Exec Sql Declare C1 Cursor for
Select *
From SRVACHI
Where ACI010 = '12' And
ACI015 = '123 And
ACI085 = '123'
Order By ACI010, ACI015, ACI085;

Exec Sql Open C1;
If SqlState <> SQL_STATE_OK;
// Error Reporting
EndIf;

DoW True;
Exec Sql Fetch Next
From C1
Into :RecordIn
Select;
When SqlState = SQL_STATE_NO_ROW;
Close C1;
Leave;
When SqlState <> SQL_STATE_OK;
// Error Reporting;
EndSl;
// Process record.
EndDo;

Also, using Select * is very poor form unless you are really needing all
fields. Only bring in the fields you need.


On Fri, Oct 13, 2017 at 12:15 PM, Jay Vaughn <jeffersonvaughn@xxxxxxxxx>
wrote:

thank you - this is exactly what i am doing...

lets say i have built an sql statement...

'select * from SRVACHI where ACI010 = '12' and ACI015 = '123
and ACI085 = '123' order by ACI010, ACI015, ACI085'

i then want to pull the very first row information out and examine it...

I'm doing it as such, below... but I am getting a -822 sqlcode on the
fetch...


exec sql include sqlda;

exec sql
prepare s1_select from :g_sqlstmt

exec sql
exec sql describe s1_select into :sqlda using system names;

exec sql
declare c1 cursor for s1_select;

exec sql
open c1;

exec sql
fetch next from c1 using descriptor :sqlda;

what am I missing?



I intend to examine it as...

for i = 1 to sql_num;

sqlvar = sql_var(i);
if sqlname = ' ';
leave;
endif;

endfor;

On Fri, Oct 13, 2017 at 2:49 PM, Sam_L <lennon_s_j@xxxxxxxxxxx> wrote:

I'm not totally sure that I understand what you are trying to do...
For
example, SQLDATA is defined where?

However, you probably need something like
exec sql fetch first from c1 into :SQLDATA
so SQL knows where to put the data.

It you are just beginning with embedded SQL, you might want to take a
look
at this article:
https://www.itjungle.com/2005/08/10/fhg081005-story01/

Here's another about handling the return codes:
https://www.mcpressonline.com/programming/sql/techtip-sqlcod
-endoffile-gotcha

Sam


On 10/13/2017 12:56 PM, Jay Vaughn wrote:

given the following scenario, how do I extract the values from
SQLDATA?

exec sql
prepare s1_select from :g_sqlstmt;

exec sql
declare c1 scroll cursor for s1_select;

exec sql open c1;

exec sql fetch first from c1;


My attempt is...


exec sql include sqlda;
exec sql describe s1_select into :sqlda;

for i = 1 to sql_num;

sqlvar = sql_var(i);
if sqlname = ' ';
leave;
endif;

SQLDATA???? contains null when the fetch did indeed fetch a record.


---
This email has been checked for viruses by Avast antivirus software.
https://www.avast.com/antivirus


--
This is the RPG programming on the IBM i (AS/400 and iSeries)
(RPG400-L)
mailing list
To post a message email: RPG400-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: https://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at https://archive.midrange.com/rpg400-l.

Please contact support@xxxxxxxxxxxx for any subscription related
questions.

Help support midrange.com by shopping at amazon.com with our affiliate
link: http://amzn.to/2dEadiD

--
This is the RPG programming on the IBM i (AS/400 and iSeries) (RPG400-L)
mailing list
To post a message email: RPG400-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: https://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at https://archive.midrange.com/rpg400-l.

Please contact support@xxxxxxxxxxxx for any subscription related
questions.

Help support midrange.com by shopping at amazon.com with our affiliate
link: http://amzn.to/2dEadiD

--
This is the RPG programming on the IBM i (AS/400 and iSeries) (RPG400-L)
mailing list
To post a message email: RPG400-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: https://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at https://archive.midrange.com/rpg400-l.

Please contact support@xxxxxxxxxxxx for any subscription related
questions.

Help support midrange.com by shopping at amazon.com with our affiliate
link: http://amzn.to/2dEadiD


As an Amazon Associate we earn from qualifying purchases.

This thread ...

Follow-Ups:
Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 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.