ID: Q173843
The information in this article applies to:
The Visual C/C++ compiler generates the following compile error.
error C2231: '.iValue' : left operand points to 'struct', use ->
The following code attempts to use an array to hold iID, and will show the
problem:
//
// Retrieves one row of results. The SELECT INTO statement is also a
// singleton select
EXEC SQL select iID
INTO :gTest[iCount].iValue
FROM tblTest
where iID = 1;
The current version of the NSQLPREP utility is not designed to handle array structures.
To work around this problem, use a pointer as shown by the following code:
EXEC SQL begin declare section;
typedef struct stTest
{
int iValue;
} TEST;
TEST * pCurrent = NULL;
EXEC SQL end declare section;
.
.
.
//
// Can use a pointer to fill array
pCurrent = &gTest[iCount];
//
// Retrieves one row of results. The SELECT INTO statement is also a
// singleton select
EXEC SQL select iID
INTO :pCurrent->iValue
FROM tblTest
where iID = 1;
Additional query words: ESQL E-SQL SQC
Keywords : kbcode SSrvESQL_C SSrvProg
Version : WINDOWS:6.5
Platform : WINDOWS
Issue type : kbprb
Last Reviewed: September 16, 1997