SQL/MX Programming Manual for C and COBOL (G06.24+, H06.03+)

Host Variables in C/C++ Programs
HP NonStop SQL/MX Programming Manual for C and COBOL523627-004
3-42
Selecting From an ISO88591 Character Set Into a
UCS2 Host Variable
int hv_cnt = 0;
EXEC SQL END DECLARE SECTION;
hv_empnum[3] = '\0';
EXEC SQL
declare curs01 cursor for
select * from staff_uc order by empnum;
EXEC SQL open curs01;
EXEC SQL fetch curs01 into :hv_empnum,:hv_empname,
:hv_grade,:hv_city;
while (strcmp(SQLSTATE, SQLSTATE_OK) == 0)
{
// process the output values :hv_empnum, :hv_empname,
// :hv_grade, and :hv_city
EXEC SQL FETCH curs01 INTO
:hv_empnum,:hv_empname,:hv_grade,:hv_city;
}
}
Selecting From an ISO88591 Character Set Into a UCS2 Host
Variable
This example uses the host variable relaxation with selection from an ISO88591
character set into a UCS2 host variable and comparing an ISO88591 column with a
UCS2 host variable in the WHERE clause:
EXEC SQL BEGIN DECLARE SECTION;
long SQLCODE;
static char SQLSTATE_OK[6] = "00000";
char SQLSTATE[6];
char CHARACTER SET UCS2 out_hv_pnum[4];
char CHARACTER SET UCS2 out_hv_ptype[8];
VARCHAR CHARACTER SET UCS2 out_hv_pname[21];
VARCHAR CHARACTER SET UCS2 out_hv_city[16];
VARCHAR CHARACTER SET UCS2 in_hv_city[16];
char CHARACTER SET UCS2 in_hv_city2[16];
int hv_cnt;
EXEC SQL END DECLARE SECTION;
//varchar ISO88591 column compare with varchar UCS2 hostvar
void relaxation_example_comparison()
{
//init input hostvar
wcscpy((wchar_t *)in_hv_city, L"Cupertino");
out_hv_ptype[7] = (wchar_t)'\0';
EXEC SQL
declare curs02 cursor for
select pnum,pname,ptype from proj