home *** CD-ROM | disk | FTP | other *** search
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- #include <sqlenv.h>
- EXEC SQL INCLUDE SQLCA;
-
- EXEC SQL BEGIN DECLARE SECTION;
- char table_name[20] = "";
- char st[80] = ""; /* :rk.1:erk. */
- char parm_var[19] = "";
- EXEC SQL END DECLARE SECTION;
-
- int main(void)
- {
- printf( "\nSample C program: DYNAMIC " );
- EXEC SQL CONNECT TO sample IN SHARE MODE;
- if ( SQLCODE != 0 ) {
- printf( "\nCONNECT TO Error: SQLCODE = %ld", SQLCODE );
- exit(1);
- }
-
- EXEC SQL WHENEVER NOT FOUND GO TO ext;
- EXEC SQL WHENEVER SQLERROR GO TO error;
-
- strcpy( st, "SELECT name FROM sysibm.systables" );
- strcat( st, " WHERE name <> ?" );
- EXEC SQL PREPARE s1 FROM :st; /* :rk.2:erk. */
-
- EXEC SQL DECLARE c1 CURSOR FOR s1; /* :rk.3:erk. */
-
- strcpy( parm_var, "STAFF" );
- EXEC SQL OPEN c1 USING :parm_var; /* :rk.4:erk. */
-
- do {
- EXEC SQL FETCH c1 INTO :table_name; /* :rk.5:erk. */
- printf( "\nTable = %s", table_name );
- } while ( 1 );
-
- error:
- printf( "\nError: SQLCODE = %ld", SQLCODE );
-
- ext:
- EXEC SQL WHENEVER SQLERROR CONTINUE;
-
- EXEC SQL CLOSE c1; /* :rk.6:erk. */
- EXEC SQL COMMIT;
- EXEC SQL CONNECT RESET;
- return 0;
- }