|
This is a multi-part message in MIME format. -- Phil, I haven't got the books here, but I seem to remember to make variables visible to the SQL, they need to be defined after some special SQL macro. I can't think what it is, but when i get into the office tomorrow, I'll see if I can hunt the thing down. --phil -----Original Message----- From: Phil [mailto:sublime78ska@attbi.com] Sent: Wed 7/10/2002 8:08 PM To: c400-l@midrange.com Cc: Subject: RE: [C400-L] Embedded SQL - SQLC I posted this a few weeks ago but had no luck. Thought I'd give it one more try :) Has anyone any examples of or insight to fetching multiple rows into a struct? I've been following the example in the SQL Programming with Host Languages book and even keying their example on page 27 verbatim and I can not get it to compile. The error I get is that the struct is undefined or unusable. Unusable must be it because in the compile listing I can see that it was defined. I've included two versions of the code I'm trying to get to compile below. Thanks very much, Phil **ver1 (which is out of the Host Programming manual on pg 26 & 27) typedef _Packed struct { char FIRSTINIT; char MIDINIT; _Packed struct{ short LASTNAME_LEN; char LASTNAME_DATA[15]; } LASTNAME; float SALARY; float BONUS; float COMM; } empDS; empDS hostDS[10]; EXEC SQL include SQLCA; main() { EXEC SQL declare CURSOR cursor for select substr(firstname,1,1), midinit, lastname, salary, bonus, comm from EMPLOYEE; EXEC SQL open CURSOR; EXEC SQL fetch from CURSOR into :hostDS; } **ver 2** #pragma mapinc("EMPLOYEE","*LIBL/EMPLOYEE(*all)","both","d",," ") #include "EMPLOYEE" SAMPLER_both_t hostDS[10]; EXEC SQL include SQLCA; main() { EXEC SQL declare CURSOR cursor for select firstname, midinit, lastname, salary, bonus, comm from EMPLOYEE; EXEC SQL open CURSOR; EXEC SQL fetch from CURSOR into :hostDS; } DDS for EMPLOYEE: A UNIQUE A R SAMPLER A FIRSTNAME 10 A MIDINIT 1 A LASTNAME 15 A SALARY 7F A BONUS 7F A COMM 7F A K LASTNAME _______________________________________________ This is the C programming iSeries / AS400 (C400-L) mailing list To post a message email: C400-L@midrange.com To subscribe, unsubscribe, or change list options, visit: http://lists.midrange.com/cgi-bin/listinfo/c400-l or email: C400-L-request@midrange.com Before posting, please take a moment to review the archives at http://archive.midrange.com/c400-l. -- [ winmail.dat of type application/ms-tnef deleted ]
As an Amazon Associate we earn from qualifying purchases.
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.