× 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.



I haven't used his stuff, but any chance you could join the two files together?


-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx [mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of Mike Cunningham
Sent: Monday, October 11, 2010 1:46 PM
To: RPG programming on the IBM i / System i
Subject: Using Scott's JDBCR4 doing select inside a read loop

What would be the proper sequence of instructions using JDBCR4 to do a second SELECT while looking through the result set of the first SELECT?

My code was like this and it run OK

SQL_Statement = 'SELECT.........";
prepstm = JDBC_prepStmt(conn : SQL_Statement);
Select_PO_NO = 'P0000041';
jdbc_setString(prepstm: 1: Select_PO_NO);
rs = jdbc_ExecPrepQry(prepstm);
dow (jdbc_nextRow(rs));
HPOs.Purch00001 = jdbc_getCol(rs: 1);
...
Enddo;
JDBC_FreeResult(rs);
JDBC_FreePrepStmt(prepstm);
JDBC_Close(conn);

Then I added the "Exsr getVendorAddress;" and started getting a dump on JDBC_FreeResult(rs);

SQL_Statement = 'SELECT.........";
prepstm = JDBC_prepStmt(conn : SQL_Statement);
Select_PO_NO = 'P0000041';
jdbc_setString(prepstm: 1: Select_PO_NO);
rs = jdbc_ExecPrepQry(prepstm);
dow (jdbc_nextRow(rs));
HPOs.Purch00001 = jdbc_getCol(rs: 1);
Exsr getVendorAddress;
...
Enddo;
JDBC_FreeResult(rs);
JDBC_FreePrepStmt(prepstm);
JDBC_Close(conn);

-------------------------------------------------
GetVendorAddress BEGSR
aSQL_Statement = 'SELECT.........";
aprepstm = JDBC_prepStmt(conn : aSQL_Statement);
ars = jdbc_ExecPrepQry(aprepstm);
dow (jdbc_nextRow(rs));
HAddress_ls.Addre00001 = jdbc_getCol(ars: 2);
...
Enddo;
JDBC_FreeResult(ars);
JDBC_FreePrepStmt(aprepstm);
ENDSR


Error is a MCH3601 Pointer not set for location referenced.

FATAL ERROR in native method: Received NULL object reference
java.lang.Throwable

If I remove the EXSR it runs clean. Add it back and it dumps. I have tried removing the JDBC_FreeResult(ars); and JDBC_FreePrepStmt(aprepstm); from the end of the GetVendorAddress routine and it still dumps. If I remove the JDBC_FreeResult(rs); JDBC_FreePrepStmt(prepstm); from the very end it dumps on the JDBC_Close(conn);

As an Amazon Associate we earn from qualifying purchases.

This thread ...

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.