HP NonStop SQL/MP Programming Manual page 244

For c
Table of Contents

Advertisement

Dynamic SQL Operations
Example 10-8. Detailed Dynamic SQL Program (page 3 of 22)
119
extern sqldaptr allocate_sqlda ( int num_entries );
120
extern short
121
122
123
124
extern char
125
126
/* *************************************************** */
127
/* FUNCTION display_result
128
/* This function accepts the output sqlda and the
129
/* output names buffer as parameters and displays the
130
/* output of a select statement with the following
131
/* format:
132
/*
133
/* tablename.colname <data retrieved>
134
/* tablename.colname <data retrieved>
135
/*
136
/* The display is currently restricted to at most
137
/* 38 characters; this restriction can be easily
138
/* relaxed by wrapping the display lines
139
/*
140
/* Return: 0 if successful
141
/* -1 if failure
142
/*
143
/* *************************************************** */
144
145
int display_result ( sqldaptr sqlda, /* ptr to output sqlda */
146
147
148
{ /* begin display_result */
149
150
short *len_ptr;
151
152
short name_len;
153
short num_entries;
154
short i;
155
char
data_array[39];
156
157
158
char
*data_ptr;
159
short data_len;
160
char
name_array[40];
161
162
163
164
char
*lastchar;
165
166
num_entries = sqlda->num_entries;
167
168
for (i=0; i < num_entries; i++)
169
{
170
len_ptr = (short *) nb; /* get to length prefix
171
name_len = *len_ptr;
172
nb += 2;
173
174
175
/* get null terminated name in name_array */
176
if (name_len == 0)
177
strcpy(name_array, "(EXPR)");
178
else
HP NonStop SQL/MP Programming Manual for C—429847-008
get_string ( char *data_array,
short array_size,
short nullit,
char terminator );
*get_dtname ( short datatype );
char *nb )
/* int ptr to get the length
/* from the names buffer
/* num bytes in a name
/* number of sqlvar entries
/* loop index
/* buffer to contain data to
/* be displayed (null termi-
/* nated)
/* ptr to retrieved data
/* data buffer size
/* buffer to contain null
/* terminated name in a
/* <tabname>.<colname> format */
/* [ 8 + 1 + 30 chars ]
/* advance nb to skip the
/* 2-byte length prefix
10-46
Detailed Dynamic SQL Program
/* ptr to names buffer */
*/
*/
*/
*/
*/
*/
*/
*/
*/
*/
*/
*/
*/
*/
*/
*/
/* default name
*/
*/
*/
*/
*/
*/
*/
*/
*/
*/
*/
*/
*/
*/
*/
*/
*/

Advertisement

Table of Contents
loading

Table of Contents